[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Fmsystem-commits] [16910] Stable: Merge 16907:16909 from trunk
From: |
sigurdne |
Subject: |
[Fmsystem-commits] [16910] Stable: Merge 16907:16909 from trunk |
Date: |
Wed, 5 Jul 2017 08:27:06 -0400 (EDT) |
Revision: 16910
http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=16910
Author: sigurdne
Date: 2017-07-05 08:27:05 -0400 (Wed, 05 Jul 2017)
Log Message:
-----------
Stable: Merge 16907:16909 from trunk
Modified Paths:
--------------
branches/Version-2_0-branch/activitycalendar/setup/phpgw_no.lang
branches/Version-2_0-branch/activitycalendar/templates/base/organization.xsl
branches/Version-2_0-branch/admin/setup/phpgw_no.lang
branches/Version-2_0-branch/bim/inc/class.menu.inc.php
branches/Version-2_0-branch/booking/setup/phpgw_no.lang
branches/Version-2_0-branch/bookingfrontend/setup/phpgw_no.lang
branches/Version-2_0-branch/controller/setup/phpgw_no.lang
branches/Version-2_0-branch/eventplanner/setup/phpgw_no.lang
branches/Version-2_0-branch/frontend/inc/class.uidelegates.inc.php
branches/Version-2_0-branch/frontend/setup/phpgw_no.lang
branches/Version-2_0-branch/helpdesk/setup/phpgw_no.lang
branches/Version-2_0-branch/phpgwapi/inc/class.jquery.inc.php
branches/Version-2_0-branch/phpgwapi/js/jquery/jqTree/tree.jquery.js
branches/Version-2_0-branch/phpgwapi/setup/phpgw_no.lang
branches/Version-2_0-branch/property/setup/phpgw_no.lang
branches/Version-2_0-branch/registration/setup/phpgw_no.lang
branches/Version-2_0-branch/rental/setup/phpgw_no.lang
Added Paths:
-----------
branches/Version-2_0-branch/bim/setup/phpgw_no.lang
branches/Version-2_0-branch/sms/setup/phpgw_no.lang
Property Changed:
----------------
branches/Version-2_0-branch/
branches/Version-2_0-branch/booking/
branches/Version-2_0-branch/bookingfrontend/
Index: branches/Version-2_0-branch
===================================================================
--- branches/Version-2_0-branch 2017-07-05 12:24:39 UTC (rev 16909)
+++ branches/Version-2_0-branch 2017-07-05 12:27:05 UTC (rev 16910)
Property changes on: branches/Version-2_0-branch
___________________________________________________________________
Modified: svn:mergeinfo
## -1,4 +1,4 ##
/branches/dev-syncromind:13653
/branches/dev-syncromind-2:14933-16846
/branches/stavangerkommune:12743-12875,12986
-/trunk:14721-14732,14734-14735,14737,14739,14741,14743-14744,14746-14749,14751,14753,14755-14757,14759,14761-14764,14766-14768,14770-14783,14785-14792,14794-14813,14815-14816,14818,14820-14822,14824-14825,14827-14829,14831-14834,14836,14838,14840-14842,14844-14845,14847,14849-14866,14868-14869,14871,14873-14875,14877-14878,14880-14884,14886-14896,14898,14900-14902,14904,14906-14909,14911-14915,14917-14919,14921-14922,14924-14978,14980-15258,15260-15261,15263-15264,15266-15285,15287-15288,15290-15291,15293,15295,15297,15299-15305,15307-15310,15312-15335,15337-15352,15354,15356,15358,15360-15541,15543-15566,15568-15569,15571,15573-15581,15583,15585-15617,15619,15621-15630,15632-15635,15637-15639,15641-15643,15645,15647-15665,15667-15668,15670-15671,15673-15693,15695-15712,15714-15764,15766-15767,15769-15787,15789-15802,15804-15811,15813-15814,15816-15818,15820-15849,15851-15887,15889-15900,15902-16046,16048-16051,16053,16055,16057-16063,16065-16071,16073-16077,16079-16081,16083-16099,16101-16130,16132-16140,16142,16144-16212,16214-16219,16221,16223-16224,16226,16228-16229,16231,16233,16235,16237,16239-16240,16242,16244-16246,16248,16250-16251,16253-16255,16257-16259,16261,16263,16265,16267,16269-16276,16278,16280-16283,16285,16287-16288,16290,16292-16295,16297-16305,16307-16314,16316-16318,16320-16322,16324,16326-16330,16332,16334,16336,16338-16339,16341-16342,16344,16346,16348,16350,16352-16353,16355-16358,16360,16362,16364-16369,16371,16373,16375-16378,16380,16382-16383,16385,16387,16389,16391,16393-16395,16397,16399-16402,16404,16406,16408,16410-16415,16417,16419-16420,16422-16425,16427,16429-16440,16442,16444,16446,16448-16449,16451,16453,16455-16463,16465-16472,16474-16475,16477-16484,16486,16488,16490-16497,16499,16501-16503,16505-16512,16514-16517,16519,16521,16523,16525,16527-16532,16534,16536-16541,16543,16545-16554,16556,16558-16565,16567-16575,16577-16584,16586-16588,16590,16592-16593,16595-16596,16598,16600-16601,16603-16608,16610-16614,16616-16618,16620-16621,16623-16624,16626,16628,16630,16632-16638,16640,16642,16644,16646-16651,16653-16663,16665,16667,16669,16671,16673,16675,16677,16679-16680,16682,16684,16686,16688-16692,16694-16695,16697-16699,16701,16703,16705-16706,16708,16710,16712,16714,16716-16718,16720-16728,16730-16732,16734-16739,16741,16743-16746,16748-16750,16752-16755,16757,16759-16761,16763,16765,16767,16769-16774,16776,16778-16783,16785-16788,16790,16792,16794,16796-16802,16804-16807,16809,16811-16817,16819,16821-16825,16827-16831,16833,16835-16836,16838,16840-16844,16846-16847,16849,16851,16853-16854,16856-16859,16861,16863-16865,16867,16869-16871,16873,16875-16876,16878,16880-16881,16883,16885,16887-16888,16890,16892,16894-16900,16902,16904,16906
\ No newline at end of property
+/trunk:14721-14732,14734-14735,14737,14739,14741,14743-14744,14746-14749,14751,14753,14755-14757,14759,14761-14764,14766-14768,14770-14783,14785-14792,14794-14813,14815-14816,14818,14820-14822,14824-14825,14827-14829,14831-14834,14836,14838,14840-14842,14844-14845,14847,14849-14866,14868-14869,14871,14873-14875,14877-14878,14880-14884,14886-14896,14898,14900-14902,14904,14906-14909,14911-14915,14917-14919,14921-14922,14924-14978,14980-15258,15260-15261,15263-15264,15266-15285,15287-15288,15290-15291,15293,15295,15297,15299-15305,15307-15310,15312-15335,15337-15352,15354,15356,15358,15360-15541,15543-15566,15568-15569,15571,15573-15581,15583,15585-15617,15619,15621-15630,15632-15635,15637-15639,15641-15643,15645,15647-15665,15667-15668,15670-15671,15673-15693,15695-15712,15714-15764,15766-15767,15769-15787,15789-15802,15804-15811,15813-15814,15816-15818,15820-15849,15851-15887,15889-15900,15902-16046,16048-16051,16053,16055,16057-16063,16065-16071,16073-16077,16079-16081,16083-16099,16101-16130,16132-16140,16142,16144-16212,16214-16219,16221,16223-16224,16226,16228-16229,16231,16233,16235,16237,16239-16240,16242,16244-16246,16248,16250-16251,16253-16255,16257-16259,16261,16263,16265,16267,16269-16276,16278,16280-16283,16285,16287-16288,16290,16292-16295,16297-16305,16307-16314,16316-16318,16320-16322,16324,16326-16330,16332,16334,16336,16338-16339,16341-16342,16344,16346,16348,16350,16352-16353,16355-16358,16360,16362,16364-16369,16371,16373,16375-16378,16380,16382-16383,16385,16387,16389,16391,16393-16395,16397,16399-16402,16404,16406,16408,16410-16415,16417,16419-16420,16422-16425,16427,16429-16440,16442,16444,16446,16448-16449,16451,16453,16455-16463,16465-16472,16474-16475,16477-16484,16486,16488,16490-16497,16499,16501-16503,16505-16512,16514-16517,16519,16521,16523,16525,16527-16532,16534,16536-16541,16543,16545-16554,16556,16558-16565,16567-16575,16577-16584,16586-16588,16590,16592-16593,16595-16596,16598,16600-16601,16603-16608,16610-16614,16616-16618,16620-16621,16623-16624,16626,16628,16630,16632-16638,16640,16642,16644,16646-16651,16653-16663,16665,16667,16669,16671,16673,16675,16677,16679-16680,16682,16684,16686,16688-16692,16694-16695,16697-16699,16701,16703,16705-16706,16708,16710,16712,16714,16716-16718,16720-16728,16730-16732,16734-16739,16741,16743-16746,16748-16750,16752-16755,16757,16759-16761,16763,16765,16767,16769-16774,16776,16778-16783,16785-16788,16790,16792,16794,16796-16802,16804-16807,16809,16811-16817,16819,16821-16825,16827-16831,16833,16835-16836,16838,16840-16844,16846-16847,16849,16851,16853-16854,16856-16859,16861,16863-16865,16867,16869-16871,16873,16875-16876,16878,16880-16881,16883,16885,16887-16888,16890,16892,16894-16900,16902,16904,16906,16908-16909
\ No newline at end of property
Modified: branches/Version-2_0-branch/activitycalendar/setup/phpgw_no.lang
===================================================================
--- branches/Version-2_0-branch/activitycalendar/setup/phpgw_no.lang
2017-07-05 12:24:39 UTC (rev 16909)
+++ branches/Version-2_0-branch/activitycalendar/setup/phpgw_no.lang
2017-07-05 12:27:05 UTC (rev 16910)
@@ -436,4 +436,8 @@
contact_person_2_name activitycalendar no Kontaktperson 2
contact_person_2_phone activitycalendar no Kontaktperson 2 tlf
contact_person_2_mail activitycalendar no Kontaktperson 2 epost
-reject activitycalendar no Avvis organisasjon
\ No newline at end of file
+reject activitycalendar no Avvis organisasjon
+description activitycalendar no Beskrivelse
+e-post activitycalendar no E-post
+list %1 activitycalendar no list %1
+select date activitycalendar no Velg dato
Modified:
branches/Version-2_0-branch/activitycalendar/templates/base/organization.xsl
===================================================================
---
branches/Version-2_0-branch/activitycalendar/templates/base/organization.xsl
2017-07-05 12:24:39 UTC (rev 16909)
+++
branches/Version-2_0-branch/activitycalendar/templates/base/organization.xsl
2017-07-05 12:27:05 UTC (rev 16910)
@@ -69,7 +69,7 @@
</div>
<div class="pure-control-group">
<label>
- <xsl:value-of
select="php:function('lang', 'Adresse')"/>
+ <xsl:value-of
select="php:function('lang', 'address')"/>
</label>
<input type="text"
name="address" id="address" value="{address}"/>
</div>
@@ -82,7 +82,7 @@
</div>
<div class="pure-control-group">
<label>
- <xsl:value-of
select="php:function('lang', 'Beskrivelse')"/>
+ <xsl:value-of
select="php:function('lang', 'description')"/>
</label>
<textarea rows="10" cols="100"
id="org_description" name="org_description">
<xsl:value-of
select="description"/>
@@ -209,7 +209,7 @@
</div>
<div class="pure-control-group">
<label>
- <xsl:value-of
select="php:function('lang', 'Adresse')"/>
+ <xsl:value-of
select="php:function('lang', 'address')"/>
</label>
<xsl:value-of
select="address"/>
</div>
@@ -222,7 +222,7 @@
</div>
<div class="pure-control-group">
<label>
- <xsl:value-of
select="php:function('lang', 'Beskrivelse')"/>
+ <xsl:value-of
select="php:function('lang', 'description')"/>
</label>
<xsl:value-of
select="description"/>
</div>
Modified: branches/Version-2_0-branch/admin/setup/phpgw_no.lang
===================================================================
--- branches/Version-2_0-branch/admin/setup/phpgw_no.lang 2017-07-05
12:24:39 UTC (rev 16909)
+++ branches/Version-2_0-branch/admin/setup/phpgw_no.lang 2017-07-05
12:27:05 UTC (rev 16910)
@@ -39,4 +39,60 @@
home screen message admin no Melding på hjemmeskjerm
title admin no Overskrift
important message admin no Viktig informasjon
-enabled admin no Aktiv
\ No newline at end of file
+enabled admin no Aktiv
+(to install new applications use<br><a href=setup/" target="setup">setup</a>
[manage applications] !!!)" admin no (For å installere nye
moduler, bruk<br><a href=setup/" target="setup">setup</a> [manage applications]
!!!)"
+add a category admin no Legg til kategori
+add a section admin no Legg til seksjon
+add a subcategory admin no Legg til undekategori
+admins admin no Admins
+appearance admin no Utseende
+attribute admin no Atributt
+attributes admin no Atributter
+attributes for this config section admin no Atributter for denne
konfigurasjonsseksjonen
+category list admin no Kategoriliste
+check ip address of all sessions admin no Kontroller IP-adresse
for sesjoner
+close window admin no Lukk vindu
+collect missing translations admin no Finn manglende oversettinger
+config admin no Konfigurasjon
+delete all log records admin no Slett alle poster fra loggen
+delete this category admin no Slett kategorien
+edit the config admin no Endre konfigurasjon
+edit this category admin no Endre kategorien
+email domain admin no Email domene
+enter the background color for the login page admin no Angi
bakgrunnsfarge for innloggingssiden
+enter the background color for the site title admin no Angi
bakgrunnsfarge for nettstedstittelen
+enter the file name of your logo admin no Angi filnavnet for logo
+enter the file name of your logo at login admin no Angi filnavnet
for logo for pålogging
+enter the search string. to show all entries, empty this field and press the
submit button again admin no Angi søkestreng. For a vise alle
poster, tøm dette feltet og klikk på knappen igjen.
+enter the title for your site admin no Angi tittel for nettstedet
+enter the title of your logo admin no Angi tittel for logoen
+enter the url where your logo should link to admin no Angi url for
logo
+enter your smtp server password admin no Angi ditt SMTP passord
+enter your smtp server user admin no Angi ditt SMTP-server brukernavn
+fatal admin no Fatal
+first page admin no Første side
+installed applications admin no Innstallerte moduler
+language admin no Språk
+line admin no Linje
+list section admin no List seksjon
+log message admin no Loggmelding
+login screen admin no Innlogging
+main screen admin no Hovedside
+main screen message admin no Melding på hovedside
+module admin no Modul
+section admin no seksjon
+security admin no Sikkerhet
+severity admin no Alvorlighetsgrad
+smtp server port number admin no SMTP server port nummer
+smtp server timeout admin no smtp server timeout
+smtp settings admin no SMTP configurasjon
+smtpdebug admin no smtpdebug
+smtpsecure admin no smtpsecure
+submit the search string admin no Send søketekst
+support email address admin no Epost brukerstøtte
+total records: %1 admin no Antall poster: %1
+use cookies to pass sessionid admin no Bruk cookier til å håndtere
sesjoner
+use smtp auth admin no Bruk smtp autentisering
+users admin no Brukere
+view the config admin no Vis konfigurasjon
+warn admin no Varsel
Modified: branches/Version-2_0-branch/bim/inc/class.menu.inc.php
===================================================================
--- branches/Version-2_0-branch/bim/inc/class.menu.inc.php 2017-07-05
12:24:39 UTC (rev 16909)
+++ branches/Version-2_0-branch/bim/inc/class.menu.inc.php 2017-07-05
12:27:05 UTC (rev 16910)
@@ -130,7 +130,7 @@
$menus['navigation']['item'] = array
(
'url' => $GLOBALS['phpgw']->link('/index.php',
array('menuaction' => 'bim.uiitem.index')),
- 'text' => lang('BIM_Items'),
+ 'text' => lang('BIM Items'),
'image' => array('bim', 'custom'),
'children' => array_merge(array
(
Copied: branches/Version-2_0-branch/bim/setup/phpgw_no.lang (from rev 16909,
trunk/bim/setup/phpgw_no.lang)
===================================================================
--- branches/Version-2_0-branch/bim/setup/phpgw_no.lang
(rev 0)
+++ branches/Version-2_0-branch/bim/setup/phpgw_no.lang 2017-07-05 12:27:05 UTC
(rev 16910)
@@ -0,0 +1,3 @@
+bim items bim no Bim komponenter
+ifc bim no IFC
+upload model bim no Last opp modell
Index: branches/Version-2_0-branch/booking
===================================================================
--- branches/Version-2_0-branch/booking 2017-07-05 12:24:39 UTC (rev 16909)
+++ branches/Version-2_0-branch/booking 2017-07-05 12:27:05 UTC (rev 16910)
Property changes on: branches/Version-2_0-branch/booking
___________________________________________________________________
Modified: svn:mergeinfo
## -1,3 +1,3 ##
/branches/dev-syncromind-2/booking:14933-16846
/branches/stavangerkommune/booking:9468-12740,12743-12875,12986
-/trunk/booking:14721-14732,14824-14825,14827-14829,14831-14834,14836,14838,14840-14842,14844-14845,14871,14886-14896,14900-14902,14917-14919,14924-14978,14980-15258,15266-15285,15287-15288,15297,15299-15305,15307-15310,15312-15335,15337-15352,15354,15360-15541,15543-15566,15568-15569,15585-15617,15621-15630,15637-15639,15641-15643,15645,15647-15665,15667-15668,15695-15712,15714-15764,15820-15849,15889-15900,15902-16046,16055,16101-16130,16144-16212,16297-16305,16307-16314,16393-16395,16490-16497,16514-16517,16534,16567-16575,16577-16584,16586-16588,16590,16592-16593,16595-16596,16598,16616-16618,16730,16734-16739,16748-16750,16769-16774,16785-16788,16796-16802,16835-16836,16846-16847,16883,16885
\ No newline at end of property
+/trunk/booking:14721-14732,14824-14825,14827-14829,14831-14834,14836,14838,14840-14842,14844-14845,14871,14886-14896,14900-14902,14917-14919,14924-14978,14980-15258,15266-15285,15287-15288,15297,15299-15305,15307-15310,15312-15335,15337-15352,15354,15360-15541,15543-15566,15568-15569,15585-15617,15621-15630,15637-15639,15641-15643,15645,15647-15665,15667-15668,15695-15712,15714-15764,15820-15849,15889-15900,15902-16046,16055,16101-16130,16144-16212,16297-16305,16307-16314,16393-16395,16490-16497,16514-16517,16534,16567-16575,16577-16584,16586-16588,16590,16592-16593,16595-16596,16598,16616-16618,16730,16734-16739,16748-16750,16769-16774,16785-16788,16796-16802,16835-16836,16846-16847,16883,16885,16908-16909
\ No newline at end of property
Modified: branches/Version-2_0-branch/booking/setup/phpgw_no.lang
===================================================================
--- branches/Version-2_0-branch/booking/setup/phpgw_no.lang 2017-07-05
12:24:39 UTC (rev 16909)
+++ branches/Version-2_0-branch/booking/setup/phpgw_no.lang 2017-07-05
12:27:05 UTC (rev 16910)
@@ -678,4 +678,31 @@
organzations_ids_description booking no Her kan du legge inn en komma
separert liste med organisasjons IDer som vil få epost viss noen avbestiller
denne ressursen.
organzations_ids booking no Organisasjons IDer
cost history booking no Prishistorikk
-extra info booking no Tileggsinformasjon
\ No newline at end of file
+extra info booking no Tileggsinformasjon
+add group booking no Legg til gruppe
+agegroups booking no Aldersgruppee
+booking edit booking no Endre booking
+booking new booking no Ny booking
+building_name booking no Bygningsnavn
+custom field groups booking no Gruppe av tilpassede felt
+end date booking no Slutt dato
+entity %1 has been saved booking no Post %1 er lagret
+entity %1 has been updated booking no Post %1 er oppdatert
+minute booking no Minutt
+please enter a building booking no Velg en bygning
+please enter a building name booking no Angi et bygningsnavn
+please enter a contact name booking no Angi en kontakt
+please enter a description booking no Angi en beskrivelse
+please enter a organization booking no Angi en organisasjon
+please enter a start date booking no Angi en startdato
+please enter a valid end date booking no Angi en gyldig sluttdato
+please enter a valid from date booking no Angi en gyldig startdato
+please enter an end date booking no Angi en sluttdato
+please enter an valid end date booking no Angi en gyldig dato
+please select a customer type booking no Velg en kundetype
+please select a group booking no Velg en gruppe
+please select a season booking no Velg en sesong
+please select an activity booking no Velg en aktivitet
+select date booking no Velg dato
+start date booking no Start dato
+toggle show inactive booking no Veklse på å vise inaktive
Index: branches/Version-2_0-branch/bookingfrontend
===================================================================
--- branches/Version-2_0-branch/bookingfrontend 2017-07-05 12:24:39 UTC (rev
16909)
+++ branches/Version-2_0-branch/bookingfrontend 2017-07-05 12:27:05 UTC (rev
16910)
Property changes on: branches/Version-2_0-branch/bookingfrontend
___________________________________________________________________
Modified: svn:mergeinfo
## -1,3 +1,3 ##
/branches/dev-syncromind-2/bookingfrontend:14933-16846
/branches/stavangerkommune/bookingfrontend:9468-12740,12986
-/trunk/bookingfrontend:14721-14732,14770-14783,14794-14808,14824-14825,14838,14886-14894,14906-14909,14917-14919,14924-14978,14980-15258,15297,15312-15335,15585-15617,15621-15630,15714-15764,15813-15814,15820-15849,15889-15900,15902-16046,16101-16130,16144-16212,16297-16305,16307-16314,16316-16318,16385,16387,16393-16395,16399-16402,16586-16588,16603-16608,16734-16739,16752-16755,16785-16788,16796-16802,16835-16836,16846-16847
\ No newline at end of property
+/trunk/bookingfrontend:14721-14732,14770-14783,14794-14808,14824-14825,14838,14886-14894,14906-14909,14917-14919,14924-14978,14980-15258,15297,15312-15335,15585-15617,15621-15630,15714-15764,15813-15814,15820-15849,15889-15900,15902-16046,16101-16130,16144-16212,16297-16305,16307-16314,16316-16318,16385,16387,16393-16395,16399-16402,16586-16588,16603-16608,16734-16739,16752-16755,16785-16788,16796-16802,16835-16836,16846-16847,16908-16909
\ No newline at end of property
Modified: branches/Version-2_0-branch/bookingfrontend/setup/phpgw_no.lang
===================================================================
--- branches/Version-2_0-branch/bookingfrontend/setup/phpgw_no.lang
2017-07-05 12:24:39 UTC (rev 16909)
+++ branches/Version-2_0-branch/bookingfrontend/setup/phpgw_no.lang
2017-07-05 12:27:05 UTC (rev 16910)
@@ -391,3 +391,9 @@
You can't change resources to the event, for that contact administrator
bookingfrontend no Du kan ikke forandre på ressurser, for det må du
kontakte administrator
Cancelation of booking from bookingfrontend no Avbestilling fra
Deleted on bookingfrontend no Avbestilling i
+entity %1 has been saved bookingfrontend no Post %1 er lagret
+entity %1 has been updated bookingfrontend no Post %1 er oppdatert
+minute bookingfrontend no Minutt
+please enter a building name bookingfrontend no Angi et bygningsnavn
+please select an activity bookingfrontend no Velg en aktivitet
+select date bookingfrontend no Velg dato
Modified: branches/Version-2_0-branch/controller/setup/phpgw_no.lang
===================================================================
--- branches/Version-2_0-branch/controller/setup/phpgw_no.lang 2017-07-05
12:24:39 UTC (rev 16909)
+++ branches/Version-2_0-branch/controller/setup/phpgw_no.lang 2017-07-05
12:27:05 UTC (rev 16910)
@@ -392,4 +392,5 @@
report type controller no Rapporttype
lang_control_mandatory_location controller no Påkrevd
lokasjonsvalg
Control types controller no Kontrolltyper
-location controller no Lokasjon
\ No newline at end of file
+location controller no Lokasjon
+document types controller no Dokumenttyper
\ No newline at end of file
Modified: branches/Version-2_0-branch/eventplanner/setup/phpgw_no.lang
===================================================================
--- branches/Version-2_0-branch/eventplanner/setup/phpgw_no.lang
2017-07-05 12:24:39 UTC (rev 16909)
+++ branches/Version-2_0-branch/eventplanner/setup/phpgw_no.lang
2017-07-05 12:27:05 UTC (rev 16910)
@@ -133,4 +133,20 @@
vendor receipt text eventplanner no utøvernotat ved kvittering
customer receipt text eventplanner no Mottakerstednotat ved kvittering
receipt subject eventplanner no Kvitteringsoverskrift
-datetime event eventplanner no Dato/tid for arrangement
\ No newline at end of file
+datetime event eventplanner no Dato/tid for arrangement
+add type eventplanner no Legg til type
+application category eventplanner no Søknadskategori
+application type eventplanner no Søknadstype
+back to the ticket list eventplanner no Tilbake til oversikten
+completed eventplanner no fullført
+custom field groups eventplanner no Gruppe av tilpassede felt
+customer category eventplanner no Tilpasset kategory
+minute eventplanner no Minutt
+select date eventplanner no Velg dato
+type eventplanner no Type
+vendor category eventplanner no Leverandør kategori
+add type eventplannerfrontend no Legg til type
+all eventplannerfrontend no Alle
+back to the ticket list eventplannerfrontend no Tilbake til
oversikten
+completed eventplannerfrontend no fullført
+type eventplannerfrontend no Type
Modified: branches/Version-2_0-branch/frontend/inc/class.uidelegates.inc.php
===================================================================
--- branches/Version-2_0-branch/frontend/inc/class.uidelegates.inc.php
2017-07-05 12:24:39 UTC (rev 16909)
+++ branches/Version-2_0-branch/frontend/inc/class.uidelegates.inc.php
2017-07-05 12:27:05 UTC (rev 16910)
@@ -184,7 +184,7 @@
$delegateLimit = $config->config_data['delegate_limit'];
if (!is_numeric($delegateLimit))
$delegateLimit = 3;
- $error_message = lang('max_x_delegates',
$delegateLimit);
+ $error_message = lang('max %1 delegates',
$delegateLimit);
//$msglog =
phpgwapi_cache::session_get('frontend','msgbox');
phpgwapi_cache::session_clear('frontend', 'msgbox');
Modified: branches/Version-2_0-branch/frontend/setup/phpgw_no.lang
===================================================================
--- branches/Version-2_0-branch/frontend/setup/phpgw_no.lang 2017-07-05
12:24:39 UTC (rev 16909)
+++ branches/Version-2_0-branch/frontend/setup/phpgw_no.lang 2017-07-05
12:27:05 UTC (rev 16910)
@@ -131,4 +131,7 @@
message_empty frontend no Meldingen kan ikke være tom
upload_userdoc frontend no Last opp brukerveiledning
filename frontend no Filnavn
-contracts frontend no Kontrakt
\ No newline at end of file
+contracts frontend no Kontrakt
+max %1 delegates frontend no Maximum %1 delegerte
+monthly frontend no Månedlig
+remark frontend no Merknad
Modified: branches/Version-2_0-branch/helpdesk/setup/phpgw_no.lang
===================================================================
--- branches/Version-2_0-branch/helpdesk/setup/phpgw_no.lang 2017-07-05
12:24:39 UTC (rev 16909)
+++ branches/Version-2_0-branch/helpdesk/setup/phpgw_no.lang 2017-07-05
12:27:05 UTC (rev 16910)
@@ -207,4 +207,11 @@
close message helpdesk no Svarmelding ved avsluttet sak
list %1 helpdesk no List %1
public helpdesk no synlig for alle
-open edit in new window helpdesk no Editer i nytt vindu
\ No newline at end of file
+open edit in new window helpdesk no Editer i nytt vindu
+columns is updated helpdesk no Kolonner er oppdatert
+select column helpdesk no Velg kolonne
+target helpdesk no Mål
+ticket attributes helpdesk no Meldingsattributter
+ticket categories helpdesk no Meldingskategorier
+ticket status helpdesk no Meldingsstatus
+url helpdesk no Url
Modified: branches/Version-2_0-branch/phpgwapi/inc/class.jquery.inc.php
===================================================================
--- branches/Version-2_0-branch/phpgwapi/inc/class.jquery.inc.php
2017-07-05 12:24:39 UTC (rev 16909)
+++ branches/Version-2_0-branch/phpgwapi/inc/class.jquery.inc.php
2017-07-05 12:27:05 UTC (rev 16910)
@@ -171,7 +171,6 @@
$load = array(
"js/{$_jquery_core}{$_type}",
"jqTree/tree.jquery",
- "jqTree/tree.cookie",
);
$GLOBALS['phpgw']->css->add_external_file("phpgwapi/js/jquery/jqTree/jqtree.css");
break;
Modified: branches/Version-2_0-branch/phpgwapi/js/jquery/jqTree/tree.jquery.js
===================================================================
--- branches/Version-2_0-branch/phpgwapi/js/jquery/jqTree/tree.jquery.js
2017-07-05 12:24:39 UTC (rev 16909)
+++ branches/Version-2_0-branch/phpgwapi/js/jquery/jqTree/tree.jquery.js
2017-07-05 12:27:05 UTC (rev 16910)
@@ -1,2552 +1,1705 @@
-/*
-JqTree 1.3.7
+/*!
+ * JqTree 1.4.1
+ *
+ * Copyright 2017 Marco Braak
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+/******/ (function(modules) { // webpackBootstrap
+/******/ // The module cache
+/******/ var installedModules = {};
+/******/
+/******/ // The require function
+/******/ function __webpack_require__(moduleId) {
+/******/
+/******/ // Check if module is in cache
+/******/ if(installedModules[moduleId]) {
+/******/ return installedModules[moduleId].exports;
+/******/ }
+/******/ // Create a new module (and put it into the cache)
+/******/ var module = installedModules[moduleId] = {
+/******/ i: moduleId,
+/******/ l: false,
+/******/ exports: {}
+/******/ };
+/******/
+/******/ // Execute the module function
+/******/ modules[moduleId].call(module.exports, module,
module.exports, __webpack_require__);
+/******/
+/******/ // Flag the module as loaded
+/******/ module.l = true;
+/******/
+/******/ // Return the exports of the module
+/******/ return module.exports;
+/******/ }
+/******/
+/******/
+/******/ // expose the modules object (__webpack_modules__)
+/******/ __webpack_require__.m = modules;
+/******/
+/******/ // expose the module cache
+/******/ __webpack_require__.c = installedModules;
+/******/
+/******/ // identity function for calling harmony imports with the
correct context
+/******/ __webpack_require__.i = function(value) { return value; };
+/******/
+/******/ // define getter function for harmony exports
+/******/ __webpack_require__.d = function(exports, name, getter) {
+/******/ if(!__webpack_require__.o(exports, name)) {
+/******/ Object.defineProperty(exports, name, {
+/******/ configurable: false,
+/******/ enumerable: true,
+/******/ get: getter
+/******/ });
+/******/ }
+/******/ };
+/******/
+/******/ // getDefaultExport function for compatibility with non-harmony
modules
+/******/ __webpack_require__.n = function(module) {
+/******/ var getter = module && module.__esModule ?
+/******/ function getDefault() { return
module['default']; } :
+/******/ function getModuleExports() { return module; };
+/******/ __webpack_require__.d(getter, 'a', getter);
+/******/ return getter;
+/******/ };
+/******/
+/******/ // Object.prototype.hasOwnProperty.call
+/******/ __webpack_require__.o = function(object, property) { return
Object.prototype.hasOwnProperty.call(object, property); };
+/******/
+/******/ // __webpack_public_path__
+/******/ __webpack_require__.p = "";
+/******/
+/******/ // Load entry module and return exports
+/******/ return __webpack_require__(__webpack_require__.s = 19);
+/******/ })
+/************************************************************************/
+/******/ ([
+/* 0 */
+/***/ (function(module, exports, __webpack_require__) {
-Copyright 2015 Marco Braak
+"use strict";
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof
require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var
f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var
l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return
s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof
require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return
s})({1:[function(require,module,exports){
-var $, DragAndDropHandler, DragElement, HitAreasGenerator, Position,
VisibleNodeIterator, node_module, util,
- extend = function(child, parent) { for (var key in parent) { if
(hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() {
this.constructor = child; } ctor.prototype = parent.prototype; child.prototype
= new ctor(); child.__super__ = parent.prototype; return child; },
- hasProp = {}.hasOwnProperty;
-
-node_module = require('./node');
-
-util = require('./util');
-
-Position = node_module.Position;
-
-$ = jQuery;
-
-DragAndDropHandler = (function() {
- function DragAndDropHandler(tree_widget) {
- this.tree_widget = tree_widget;
- this.hovered_area = null;
- this.$ghost = null;
- this.hit_areas = [];
- this.is_dragging = false;
- this.current_item = null;
- }
-
- DragAndDropHandler.prototype.mouseCapture = function(position_info) {
- var $element, node_element;
- $element = $(position_info.target);
- if (!this.mustCaptureElement($element)) {
- return null;
+exports.__esModule = true;
+var Position;
+(function (Position) {
+ Position[Position["Before"] = 1] = "Before";
+ Position[Position["After"] = 2] = "After";
+ Position[Position["Inside"] = 3] = "Inside";
+ Position[Position["None"] = 4] = "None";
+})(Position = exports.Position || (exports.Position = {}));
+exports.position_names = {
+ before: Position.Before,
+ after: Position.After,
+ inside: Position.Inside,
+ none: Position.None
+};
+function getPositionName(position) {
+ for (var name_1 in exports.position_names) {
+ if (exports.position_names.hasOwnProperty(name_1)) {
+ if (exports.position_names[name_1] === position) {
+ return name_1;
+ }
+ }
}
- if (this.tree_widget.options.onIsMoveHandle &&
!this.tree_widget.options.onIsMoveHandle($element)) {
- return null;
- }
- node_element = this.tree_widget._getNodeElement($element);
- if (node_element && this.tree_widget.options.onCanMove) {
- if (!this.tree_widget.options.onCanMove(node_element.node)) {
- node_element = null;
- }
- }
- this.current_item = node_element;
- return this.current_item !== null;
- };
-
- DragAndDropHandler.prototype.mouseStart = function(position_info) {
- var node, node_name, offset;
- this.refresh();
- offset = $(position_info.target).offset();
- node = this.current_item.node;
- if (this.tree_widget.options.autoEscape) {
- node_name = util.html_escape(node.name);
- } else {
- node_name = node.name;
- }
- this.drag_element = new DragElement(node_name, position_info.page_x -
offset.left, position_info.page_y - offset.top, this.tree_widget.element);
- this.is_dragging = true;
- this.current_item.$element.addClass('jqtree-moving');
- return true;
- };
-
- DragAndDropHandler.prototype.mouseDrag = function(position_info) {
- var area, can_move_to;
- this.drag_element.move(position_info.page_x, position_info.page_y);
- area = this.findHoveredArea(position_info.page_x, position_info.page_y);
- can_move_to = this.canMoveToArea(area);
- if (can_move_to && area) {
- if (!area.node.isFolder()) {
- this.stopOpenFolderTimer();
- }
- if (this.hovered_area !== area) {
- this.hovered_area = area;
- if (this.mustOpenFolderTimer(area)) {
- this.startOpenFolderTimer(area.node);
- } else {
- this.stopOpenFolderTimer();
+ return "";
+}
+exports.getPositionName = getPositionName;
+function getPosition(name) {
+ return exports.position_names[name];
+}
+exports.getPosition = getPosition;
+var Node = (function () {
+ function Node(o, is_root, node_class) {
+ if (is_root === void 0) { is_root = false; }
+ if (node_class === void 0) { node_class = Node; }
+ this.name = "";
+ this.setData(o);
+ this.children = [];
+ this.parent = null;
+ if (is_root) {
+ this.id_mapping = {};
+ this.tree = this;
+ this.node_class = node_class;
}
- this.updateDropHint();
- }
- } else {
- this.removeHover();
- this.removeDropHint();
- this.stopOpenFolderTimer();
}
- if (!area) {
- if (this.tree_widget.options.onDragMove != null) {
- this.tree_widget.options.onDragMove(this.current_item.node,
position_info.original_event);
- }
- }
- return true;
- };
+ /*
+ Set the data of this node.
- DragAndDropHandler.prototype.mustCaptureElement = function($element) {
- return !$element.is('input,select,textarea');
- };
+ setData(string): set the name of the node
+ setdata(object): set attributes of the node
- DragAndDropHandler.prototype.canMoveToArea = function(area) {
- var position_name;
- if (!area) {
- return false;
- } else if (this.tree_widget.options.onCanMoveTo) {
- position_name = Position.getName(area.position);
- return this.tree_widget.options.onCanMoveTo(this.current_item.node,
area.node, position_name);
- } else {
- return true;
- }
- };
+ Examples:
+ setdata('node1')
- DragAndDropHandler.prototype.mouseStop = function(position_info) {
- var current_item;
- this.moveItem(position_info);
- this.clear();
- this.removeHover();
- this.removeDropHint();
- this.removeHitAreas();
- current_item = this.current_item;
- if (this.current_item) {
- this.current_item.$element.removeClass('jqtree-moving');
- this.current_item = null;
- }
- this.is_dragging = false;
- if (!this.hovered_area && current_item) {
- if (this.tree_widget.options.onDragStop != null) {
- this.tree_widget.options.onDragStop(current_item.node,
position_info.original_event);
- }
- }
- return false;
- };
+ setData({ name: 'node1', id: 1});
- DragAndDropHandler.prototype.refresh = function() {
- this.removeHitAreas();
- if (this.current_item) {
- this.generateHitAreas();
- this.current_item =
this.tree_widget._getNodeElementForNode(this.current_item.node);
- if (this.is_dragging) {
- return this.current_item.$element.addClass('jqtree-moving');
- }
- }
- };
+ setData({ name: 'node2', id: 2, color: 'green'});
- DragAndDropHandler.prototype.removeHitAreas = function() {
- return this.hit_areas = [];
- };
-
- DragAndDropHandler.prototype.clear = function() {
- this.drag_element.remove();
- return this.drag_element = null;
- };
-
- DragAndDropHandler.prototype.removeDropHint = function() {
- if (this.previous_ghost) {
- return this.previous_ghost.remove();
- }
- };
-
- DragAndDropHandler.prototype.removeHover = function() {
- return this.hovered_area = null;
- };
-
- DragAndDropHandler.prototype.generateHitAreas = function() {
- var hit_areas_generator;
- hit_areas_generator = new HitAreasGenerator(this.tree_widget.tree,
this.current_item.node, this.getTreeDimensions().bottom);
- return this.hit_areas = hit_areas_generator.generate();
- };
-
- DragAndDropHandler.prototype.findHoveredArea = function(x, y) {
- var area, dimensions, high, low, mid;
- dimensions = this.getTreeDimensions();
- if (x < dimensions.left || y < dimensions.top || x > dimensions.right || y
> dimensions.bottom) {
- return null;
- }
- low = 0;
- high = this.hit_areas.length;
- while (low < high) {
- mid = (low + high) >> 1;
- area = this.hit_areas[mid];
- if (y < area.top) {
- high = mid;
- } else if (y > area.bottom) {
- low = mid + 1;
- } else {
- return area;
- }
- }
- return null;
- };
-
- DragAndDropHandler.prototype.mustOpenFolderTimer = function(area) {
- var node;
- node = area.node;
- return node.isFolder() && !node.is_open && area.position ===
Position.INSIDE;
- };
-
- DragAndDropHandler.prototype.updateDropHint = function() {
- var node_element;
- if (!this.hovered_area) {
- return;
- }
- this.removeDropHint();
- node_element =
this.tree_widget._getNodeElementForNode(this.hovered_area.node);
- return this.previous_ghost =
node_element.addDropHint(this.hovered_area.position);
- };
-
- DragAndDropHandler.prototype.startOpenFolderTimer = function(folder) {
- var openFolder;
- openFolder = (function(_this) {
- return function() {
- return _this.tree_widget._openNode(folder,
_this.tree_widget.options.slide, function() {
- _this.refresh();
- return _this.updateDropHint();
- });
- };
- })(this);
- this.stopOpenFolderTimer();
- return this.open_folder_timer = setTimeout(openFolder,
this.tree_widget.options.openFolderDelay);
- };
-
- DragAndDropHandler.prototype.stopOpenFolderTimer = function() {
- if (this.open_folder_timer) {
- clearTimeout(this.open_folder_timer);
- return this.open_folder_timer = null;
- }
- };
-
- DragAndDropHandler.prototype.moveItem = function(position_info) {
- var doMove, event, moved_node, position, previous_parent, target_node;
- if (this.hovered_area && this.hovered_area.position !== Position.NONE &&
this.canMoveToArea(this.hovered_area)) {
- moved_node = this.current_item.node;
- target_node = this.hovered_area.node;
- position = this.hovered_area.position;
- previous_parent = moved_node.parent;
- if (position === Position.INSIDE) {
- this.hovered_area.node.is_open = true;
- }
- doMove = (function(_this) {
- return function() {
- _this.tree_widget.tree.moveNode(moved_node, target_node, position);
- _this.tree_widget.element.empty();
- return _this.tree_widget._refreshElements();
+ * This is an internal function; it is not in the docs
+ * Does not remove existing node values
+ */
+ Node.prototype.setData = function (o) {
+ var _this = this;
+ var setName = function (name) {
+ if (name != null) {
+ _this.name = name;
+ }
};
- })(this);
- event = this.tree_widget._triggerEvent('tree.move', {
- move_info: {
- moved_node: moved_node,
- target_node: target_node,
- position: Position.getName(position),
- previous_parent: previous_parent,
- do_move: doMove,
- original_event: position_info.original_event
+ if (!o) {
+ return;
}
- });
- if (!event.isDefaultPrevented()) {
- return doMove();
- }
- }
- };
-
- DragAndDropHandler.prototype.getTreeDimensions = function() {
- var offset;
- offset = this.tree_widget.element.offset();
- return {
- left: offset.left,
- top: offset.top,
- right: offset.left + this.tree_widget.element.width(),
- bottom: offset.top + this.tree_widget.element.height() + 16
+ else if (typeof o !== "object") {
+ setName(o);
+ }
+ else {
+ for (var key in o) {
+ if (o.hasOwnProperty(key)) {
+ var value = o[key];
+ if (key === "label") {
+ // You can use the 'label' key instead of 'name'; this
is a legacy feature
+ setName(value);
+ }
+ else if (key !== "children") {
+ // You can't update the children using this function
+ this[key] = value;
+ }
+ }
+ }
+ }
};
- };
+ /*
+ Create tree from data.
- return DragAndDropHandler;
-
-})();
-
-VisibleNodeIterator = (function() {
- function VisibleNodeIterator(tree) {
- this.tree = tree;
- }
-
- VisibleNodeIterator.prototype.iterate = function() {
- var _iterateNode, is_first_node;
- is_first_node = true;
- _iterateNode = (function(_this) {
- return function(node, next_node) {
- var $element, child, children_length, i, j, len, must_iterate_inside,
ref;
- must_iterate_inside = (node.is_open || !node.element) &&
node.hasChildren();
- if (node.element) {
- $element = $(node.element);
- if (!$element.is(':visible')) {
- return;
- }
- if (is_first_node) {
- _this.handleFirstNode(node, $element);
- is_first_node = false;
- }
- if (!node.hasChildren()) {
- _this.handleNode(node, next_node, $element);
- } else if (node.is_open) {
- if (!_this.handleOpenFolder(node, $element)) {
- must_iterate_inside = false;
- }
- } else {
- _this.handleClosedFolder(node, next_node, $element);
- }
+ Structure of data is:
+ [
+ {
+ label: 'node1',
+ children: [
+ { label: 'child1' },
+ { label: 'child2' }
+ ]
+ },
+ {
+ label: 'node2'
}
- if (must_iterate_inside) {
- children_length = node.children.length;
- ref = node.children;
- for (i = j = 0, len = ref.length; j < len; i = ++j) {
- child = ref[i];
- if (i === (children_length - 1)) {
- _iterateNode(node.children[i], null);
- } else {
- _iterateNode(node.children[i], node.children[i + 1]);
+ ]
+ */
+ Node.prototype.loadFromData = function (data) {
+ this.removeChildren();
+ for (var _i = 0, data_1 = data; _i < data_1.length; _i++) {
+ var o = data_1[_i];
+ var node = new this.tree.node_class(o);
+ this.addChild(node);
+ if (typeof o === "object" && o["children"]) {
+ node.loadFromData(o["children"]);
}
- }
- if (node.is_open) {
- return _this.handleAfterOpenFolder(node, next_node, $element);
- }
}
- };
- })(this);
- return _iterateNode(this.tree, null);
- };
+ };
+ /*
+ Add child.
- VisibleNodeIterator.prototype.handleNode = function(node, next_node,
$element) {};
+ tree.addChild(
+ new Node('child1')
+ );
+ */
+ Node.prototype.addChild = function (node) {
+ this.children.push(node);
+ node._setParent(this);
+ };
+ /*
+ Add child at position. Index starts at 0.
- VisibleNodeIterator.prototype.handleOpenFolder = function(node, $element) {};
+ tree.addChildAtPosition(
+ new Node('abc'),
+ 1
+ );
+ */
+ Node.prototype.addChildAtPosition = function (node, index) {
+ this.children.splice(index, 0, node);
+ node._setParent(this);
+ };
+ /*
+ Remove child. This also removes the children of the node.
- VisibleNodeIterator.prototype.handleClosedFolder = function(node, next_node,
$element) {};
+ tree.removeChild(tree.children[0]);
+ */
+ Node.prototype.removeChild = function (node) {
+ // remove children from the index
+ node.removeChildren();
+ this._removeChild(node);
+ };
+ /*
+ Get child index.
- VisibleNodeIterator.prototype.handleAfterOpenFolder = function(node,
next_node, $element) {};
-
- VisibleNodeIterator.prototype.handleFirstNode = function(node, $element) {};
-
- return VisibleNodeIterator;
-
-})();
-
-HitAreasGenerator = (function(superClass) {
- extend(HitAreasGenerator, superClass);
-
- function HitAreasGenerator(tree, current_node, tree_bottom) {
- HitAreasGenerator.__super__.constructor.call(this, tree);
- this.current_node = current_node;
- this.tree_bottom = tree_bottom;
- }
-
- HitAreasGenerator.prototype.generate = function() {
- this.positions = [];
- this.last_top = 0;
- this.iterate();
- return this.generateHitAreas(this.positions);
- };
-
- HitAreasGenerator.prototype.getTop = function($element) {
- return $element.offset().top;
- };
-
- HitAreasGenerator.prototype.addPosition = function(node, position, top) {
- var area;
- area = {
- top: top,
- node: node,
- position: position
+ var index = getChildIndex(node);
+ */
+ Node.prototype.getChildIndex = function (node) {
+ return $.inArray(node, this.children);
};
- this.positions.push(area);
- return this.last_top = top;
- };
+ /*
+ Does the tree have children?
- HitAreasGenerator.prototype.handleNode = function(node, next_node, $element)
{
- var top;
- top = this.getTop($element);
- if (node === this.current_node) {
- this.addPosition(node, Position.NONE, top);
- } else {
- this.addPosition(node, Position.INSIDE, top);
+ if (tree.hasChildren()) {
+ //
}
- if (next_node === this.current_node || node === this.current_node) {
- return this.addPosition(node, Position.NONE, top);
- } else {
- return this.addPosition(node, Position.AFTER, top);
- }
- };
+ */
+ Node.prototype.hasChildren = function () {
+ return this.children.length !== 0;
+ };
+ Node.prototype.isFolder = function () {
+ return this.hasChildren() || this.load_on_demand;
+ };
+ /*
+ Iterate over all the nodes in the tree.
- HitAreasGenerator.prototype.handleOpenFolder = function(node, $element) {
- if (node === this.current_node) {
- return false;
- }
- if (node.children[0] !== this.current_node) {
- this.addPosition(node, Position.INSIDE, this.getTop($element));
- }
- return true;
- };
+ Calls callback with (node, level).
- HitAreasGenerator.prototype.handleClosedFolder = function(node, next_node,
$element) {
- var top;
- top = this.getTop($element);
- if (node === this.current_node) {
- return this.addPosition(node, Position.NONE, top);
- } else {
- this.addPosition(node, Position.INSIDE, top);
- if (next_node !== this.current_node) {
- return this.addPosition(node, Position.AFTER, top);
- }
- }
- };
+ The callback must return true to continue the iteration on current node.
- HitAreasGenerator.prototype.handleFirstNode = function(node, $element) {
- if (node !== this.current_node) {
- return this.addPosition(node, Position.BEFORE,
this.getTop($(node.element)));
- }
- };
+ tree.iterate(
+ function(node, level) {
+ console.log(node.name);
- HitAreasGenerator.prototype.handleAfterOpenFolder = function(node,
next_node, $element) {
- if (node === this.current_node.node || next_node ===
this.current_node.node) {
- return this.addPosition(node, Position.NONE, this.last_top);
- } else {
- return this.addPosition(node, Position.AFTER, this.last_top);
- }
- };
-
- HitAreasGenerator.prototype.generateHitAreas = function(positions) {
- var group, hit_areas, j, len, position, previous_top;
- previous_top = -1;
- group = [];
- hit_areas = [];
- for (j = 0, len = positions.length; j < len; j++) {
- position = positions[j];
- if (position.top !== previous_top && group.length) {
- if (group.length) {
- this.generateHitAreasForGroup(hit_areas, group, previous_top,
position.top);
+ // stop iteration after level 2
+ return (level <= 2);
}
- previous_top = position.top;
- group = [];
- }
- group.push(position);
- }
- this.generateHitAreasForGroup(hit_areas, group, previous_top,
this.tree_bottom);
- return hit_areas;
- };
+ );
- HitAreasGenerator.prototype.generateHitAreasForGroup = function(hit_areas,
positions_in_group, top, bottom) {
- var area_height, area_top, i, position, position_count;
- position_count = Math.min(positions_in_group.length, 4);
- area_height = Math.round((bottom - top) / position_count);
- area_top = top;
- i = 0;
- while (i < position_count) {
- position = positions_in_group[i];
- hit_areas.push({
- top: area_top,
- bottom: area_top + area_height,
- node: position.node,
- position: position.position
- });
- area_top += area_height;
- i += 1;
- }
- return null;
- };
+ */
+ Node.prototype.iterate = function (callback) {
+ var _iterate = function (node, level) {
+ if (node.children) {
+ for (var _i = 0, _a = node.children; _i < _a.length; _i++) {
+ var child = _a[_i];
+ var result = callback(child, level);
+ if (result && child.hasChildren()) {
+ _iterate(child, level + 1);
+ }
+ }
+ }
+ };
+ _iterate(this, 0);
+ };
+ /*
+ Move node relative to another node.
- return HitAreasGenerator;
+ Argument position: Position.BEFORE, Position.AFTER or Position.Inside
-})(VisibleNodeIterator);
-
-DragElement = (function() {
- function DragElement(node_name, offset_x, offset_y, $tree) {
- this.offset_x = offset_x;
- this.offset_y = offset_y;
- this.$element = $("<span class=\"jqtree-title jqtree-dragging\">" +
node_name + "</span>");
- this.$element.css("position", "absolute");
- $tree.append(this.$element);
- }
-
- DragElement.prototype.move = function(page_x, page_y) {
- return this.$element.offset({
- left: page_x - this.offset_x,
- top: page_y - this.offset_y
- });
- };
-
- DragElement.prototype.remove = function() {
- return this.$element.remove();
- };
-
- return DragElement;
-
-})();
-
-module.exports = {
- DragAndDropHandler: DragAndDropHandler,
- DragElement: DragElement,
- HitAreasGenerator: HitAreasGenerator
-};
-
-},{"./node":5,"./util":12}],2:[function(require,module,exports){
-var $, ElementsRenderer, NodeElement, html_escape, node_element, util;
-
-node_element = require('./node_element');
-
-NodeElement = node_element.NodeElement;
-
-util = require('./util');
-
-html_escape = util.html_escape;
-
-$ = jQuery;
-
-ElementsRenderer = (function() {
- function ElementsRenderer(tree_widget) {
- this.tree_widget = tree_widget;
- this.opened_icon_element =
this.createButtonElement(tree_widget.options.openedIcon);
- this.closed_icon_element =
this.createButtonElement(tree_widget.options.closedIcon);
- }
-
- ElementsRenderer.prototype.render = function(from_node) {
- if (from_node && from_node.parent) {
- return this.renderFromNode(from_node);
- } else {
- return this.renderFromRoot();
- }
- };
-
- ElementsRenderer.prototype.renderFromRoot = function() {
- var $element;
- $element = this.tree_widget.element;
- $element.empty();
- return this.createDomElements($element[0], this.tree_widget.tree.children,
true, true, 1);
- };
-
- ElementsRenderer.prototype.renderFromNode = function(node) {
- var $previous_li, li;
- $previous_li = $(node.element);
- li = this.createLi(node, node.getLevel());
- this.attachNodeData(node, li);
- $previous_li.after(li);
- $previous_li.remove();
- if (node.children) {
- return this.createDomElements(li, node.children, false, false,
node.getLevel() + 1);
- }
- };
-
- ElementsRenderer.prototype.createDomElements = function(element, children,
is_root_node, is_open, level) {
- var child, i, len, li, ul;
- ul = this.createUl(is_root_node);
- element.appendChild(ul);
- for (i = 0, len = children.length; i < len; i++) {
- child = children[i];
- li = this.createLi(child, level);
- ul.appendChild(li);
- this.attachNodeData(child, li);
- if (child.hasChildren()) {
- this.createDomElements(li, child.children, false, child.is_open, level
+ 1);
- }
- }
- return null;
- };
-
- ElementsRenderer.prototype.attachNodeData = function(node, li) {
- node.element = li;
- return $(li).data('node', node);
- };
-
- ElementsRenderer.prototype.createUl = function(is_root_node) {
- var class_string, role, ul;
- if (!is_root_node) {
- class_string = '';
- role = 'group';
- } else {
- class_string = 'jqtree-tree';
- role = 'tree';
- if (this.tree_widget.options.rtl) {
- class_string += ' jqtree-rtl';
- }
- }
- ul = document.createElement('ul');
- ul.className = "jqtree_common " + class_string;
- ul.setAttribute('role', role);
- return ul;
- };
-
- ElementsRenderer.prototype.createLi = function(node, level) {
- var is_selected, li;
- is_selected = this.tree_widget.select_node_handler &&
this.tree_widget.select_node_handler.isNodeSelected(node);
- if (node.isFolder()) {
- li = this.createFolderLi(node, level, is_selected);
- } else {
- li = this.createNodeLi(node, level, is_selected);
- }
- if (this.tree_widget.options.onCreateLi) {
- this.tree_widget.options.onCreateLi(node, $(li));
- }
- return li;
- };
-
- ElementsRenderer.prototype.createFolderLi = function(node, level,
is_selected) {
- var button_classes, button_link, div, folder_classes, icon_element,
is_folder, li;
- button_classes = this.getButtonClasses(node);
- folder_classes = this.getFolderClasses(node, is_selected);
- if (node.is_open) {
- icon_element = this.opened_icon_element;
- } else {
- icon_element = this.closed_icon_element;
- }
- li = document.createElement('li');
- li.className = "jqtree_common " + folder_classes;
- li.setAttribute('role', 'presentation');
- div = document.createElement('div');
- div.className = "jqtree-element jqtree_common";
- div.setAttribute('role', 'presentation');
- li.appendChild(div);
- button_link = document.createElement('a');
- button_link.className = button_classes;
- button_link.appendChild(icon_element.cloneNode(false));
- button_link.setAttribute('role', 'presentation');
- button_link.setAttribute('aria-hidden', 'true');
- if (this.tree_widget.options.buttonLeft) {
- div.appendChild(button_link);
- }
- div.appendChild(this.createTitleSpan(node.name, level, is_selected,
node.is_open, is_folder = true));
- if (!this.tree_widget.options.buttonLeft) {
- div.appendChild(button_link);
- }
- return li;
- };
-
- ElementsRenderer.prototype.createNodeLi = function(node, level, is_selected)
{
- var class_string, div, is_folder, li, li_classes;
- li_classes = ['jqtree_common'];
- if (is_selected) {
- li_classes.push('jqtree-selected');
- }
- class_string = li_classes.join(' ');
- li = document.createElement('li');
- li.className = class_string;
- li.setAttribute('role', 'presentation');
- div = document.createElement('div');
- div.className = "jqtree-element jqtree_common";
- div.setAttribute('role', 'presentation');
- li.appendChild(div);
- div.appendChild(this.createTitleSpan(node.name, level, is_selected,
node.is_open, is_folder = false));
- return li;
- };
-
- ElementsRenderer.prototype.createTitleSpan = function(node_name, level,
is_selected, is_open, is_folder) {
- var classes, title_span;
- title_span = document.createElement('span');
- classes = "jqtree-title jqtree_common";
- if (is_folder) {
- classes += " jqtree-title-folder";
- }
- title_span.className = classes;
- title_span.setAttribute('role', 'treeitem');
- title_span.setAttribute('aria-level', level);
- title_span.setAttribute('aria-selected', util.getBoolString(is_selected));
- title_span.setAttribute('aria-expanded', util.getBoolString(is_open));
- if (is_selected) {
- title_span.setAttribute('tabindex', 0);
- }
- title_span.innerHTML = this.escapeIfNecessary(node_name);
- return title_span;
- };
-
- ElementsRenderer.prototype.getButtonClasses = function(node) {
- var classes;
- classes = ['jqtree-toggler', 'jqtree_common'];
- if (!node.is_open) {
- classes.push('jqtree-closed');
- }
- if (this.tree_widget.options.buttonLeft) {
- classes.push('jqtree-toggler-left');
- } else {
- classes.push('jqtree-toggler-right');
- }
- return classes.join(' ');
- };
-
- ElementsRenderer.prototype.getFolderClasses = function(node, is_selected) {
- var classes;
- classes = ['jqtree-folder'];
- if (!node.is_open) {
- classes.push('jqtree-closed');
- }
- if (is_selected) {
- classes.push('jqtree-selected');
- }
- if (node.is_loading) {
- classes.push('jqtree-loading');
- }
- return classes.join(' ');
- };
-
- ElementsRenderer.prototype.escapeIfNecessary = function(value) {
- if (this.tree_widget.options.autoEscape) {
- return html_escape(value);
- } else {
- return value;
- }
- };
-
- ElementsRenderer.prototype.createButtonElement = function(value) {
- var div;
- if (typeof value === 'string') {
- div = document.createElement('div');
- div.innerHTML = value;
- return document.createTextNode(div.innerHTML);
- } else {
- return $(value)[0];
- }
- };
-
- return ElementsRenderer;
-
-})();
-
-module.exports = ElementsRenderer;
-
-},{"./node_element":6,"./util":12}],3:[function(require,module,exports){
-var $, KeyHandler,
- bind = function(fn, me){ return function(){ return fn.apply(me, arguments);
}; };
-
-$ = jQuery;
-
-KeyHandler = (function() {
- var DOWN, LEFT, RIGHT, UP;
-
- LEFT = 37;
-
- UP = 38;
-
- RIGHT = 39;
-
- DOWN = 40;
-
- function KeyHandler(tree_widget) {
- this.selectNode = bind(this.selectNode, this);
- this.tree_widget = tree_widget;
- if (tree_widget.options.keyboardSupport) {
- $(document).bind('keydown.jqtree', $.proxy(this.handleKeyDown, this));
- }
- }
-
- KeyHandler.prototype.deinit = function() {
- return $(document).unbind('keydown.jqtree');
- };
-
- KeyHandler.prototype.moveDown = function() {
- var node;
- node = this.tree_widget.getSelectedNode();
- if (node) {
- return this.selectNode(node.getNextNode());
- } else {
- return false;
- }
- };
-
- KeyHandler.prototype.moveUp = function() {
- var node;
- node = this.tree_widget.getSelectedNode();
- if (node) {
- return this.selectNode(node.getPreviousNode());
- } else {
- return false;
- }
- };
-
- KeyHandler.prototype.moveRight = function() {
- var node;
- node = this.tree_widget.getSelectedNode();
- if (!node) {
- return true;
- } else if (!node.isFolder()) {
- return true;
- } else {
- if (node.is_open) {
- return this.selectNode(node.getNextNode());
- } else {
- this.tree_widget.openNode(node);
- return false;
- }
- }
- };
-
- KeyHandler.prototype.moveLeft = function() {
- var node;
- node = this.tree_widget.getSelectedNode();
- if (!node) {
- return true;
- } else if (node.isFolder() && node.is_open) {
- this.tree_widget.closeNode(node);
- return false;
- } else {
- return this.selectNode(node.getParent());
- }
- };
-
- KeyHandler.prototype.handleKeyDown = function(e) {
- var key;
- if (!this.tree_widget.options.keyboardSupport) {
- return true;
- }
- if ($(document.activeElement).is('textarea,input,select')) {
- return true;
- }
- if (!this.tree_widget.getSelectedNode()) {
- return true;
- }
- key = e.which;
- switch (key) {
- case DOWN:
- return this.moveDown();
- case UP:
- return this.moveUp();
- case RIGHT:
- return this.moveRight();
- case LEFT:
- return this.moveLeft();
- }
- return true;
- };
-
- KeyHandler.prototype.selectNode = function(node) {
- if (!node) {
- return true;
- } else {
- this.tree_widget.selectNode(node);
- if (this.tree_widget.scroll_handler &&
(!this.tree_widget.scroll_handler.isScrolledIntoView($(node.element).find('.jqtree-element'))))
{
- this.tree_widget.scrollToNode(node);
- }
- return false;
- }
- };
-
- return KeyHandler;
-
-})();
-
-module.exports = KeyHandler;
-
-},{}],4:[function(require,module,exports){
-
-/*
-This widget does the same a the mouse widget in jqueryui.
- */
-var $, MouseWidget, SimpleWidget,
- extend = function(child, parent) { for (var key in parent) { if
(hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() {
this.constructor = child; } ctor.prototype = parent.prototype; child.prototype
= new ctor(); child.__super__ = parent.prototype; return child; },
- hasProp = {}.hasOwnProperty;
-
-SimpleWidget = require('./simple.widget');
-
-$ = jQuery;
-
-MouseWidget = (function(superClass) {
- extend(MouseWidget, superClass);
-
- function MouseWidget() {
- return MouseWidget.__super__.constructor.apply(this, arguments);
- }
-
- MouseWidget.is_mouse_handled = false;
-
- MouseWidget.prototype._init = function() {
- this.$el.bind('mousedown.mousewidget', $.proxy(this._mouseDown, this));
- this.$el.bind('touchstart.mousewidget', $.proxy(this._touchStart, this));
- this.is_mouse_started = false;
- this.mouse_delay = 0;
- this._mouse_delay_timer = null;
- this._is_mouse_delay_met = true;
- return this.mouse_down_info = null;
- };
-
- MouseWidget.prototype._deinit = function() {
- var $document;
- this.$el.unbind('mousedown.mousewidget');
- this.$el.unbind('touchstart.mousewidget');
- $document = $(document);
- $document.unbind('mousemove.mousewidget');
- return $document.unbind('mouseup.mousewidget');
- };
-
- MouseWidget.prototype._mouseDown = function(e) {
- var result;
- if (e.which !== 1) {
- return;
- }
- result = this._handleMouseDown(e, this._getPositionInfo(e));
- if (result) {
- e.preventDefault();
- }
- return result;
- };
-
- MouseWidget.prototype._handleMouseDown = function(e, position_info) {
- if (MouseWidget.is_mouse_handled) {
- return;
- }
- if (this.is_mouse_started) {
- this._handleMouseUp(position_info);
- }
- this.mouse_down_info = position_info;
- if (!this._mouseCapture(position_info)) {
- return;
- }
- this._handleStartMouse();
- this.is_mouse_handled = true;
- return true;
- };
-
- MouseWidget.prototype._handleStartMouse = function() {
- var $document;
- $document = $(document);
- $document.bind('mousemove.mousewidget', $.proxy(this._mouseMove, this));
- $document.bind('touchmove.mousewidget', $.proxy(this._touchMove, this));
- $document.bind('mouseup.mousewidget', $.proxy(this._mouseUp, this));
- $document.bind('touchend.mousewidget', $.proxy(this._touchEnd, this));
- if (this.mouse_delay) {
- return this._startMouseDelayTimer();
- }
- };
-
- MouseWidget.prototype._startMouseDelayTimer = function() {
- if (this._mouse_delay_timer) {
- clearTimeout(this._mouse_delay_timer);
- }
- this._mouse_delay_timer = setTimeout((function(_this) {
- return function() {
- return _this._is_mouse_delay_met = true;
- };
- })(this), this.mouse_delay);
- return this._is_mouse_delay_met = false;
- };
-
- MouseWidget.prototype._mouseMove = function(e) {
- return this._handleMouseMove(e, this._getPositionInfo(e));
- };
-
- MouseWidget.prototype._handleMouseMove = function(e, position_info) {
- if (this.is_mouse_started) {
- this._mouseDrag(position_info);
- return e.preventDefault();
- }
- if (this.mouse_delay && !this._is_mouse_delay_met) {
- return true;
- }
- this.is_mouse_started = this._mouseStart(this.mouse_down_info) !== false;
- if (this.is_mouse_started) {
- this._mouseDrag(position_info);
- } else {
- this._handleMouseUp(position_info);
- }
- return !this.is_mouse_started;
- };
-
- MouseWidget.prototype._getPositionInfo = function(e) {
- return {
- page_x: e.pageX,
- page_y: e.pageY,
- target: e.target,
- original_event: e
+ // move node1 after node2
+ tree.moveNode(node1, node2, Position.AFTER);
+ */
+ Node.prototype.moveNode = function (moved_node, target_node, position) {
+ if (!moved_node.parent || moved_node.isParentOf(target_node)) {
+ // - Node is parent of target node
+ // - Or, parent is empty
+ return;
+ }
+ else {
+ moved_node.parent._removeChild(moved_node);
+ if (position === Position.After) {
+ if (target_node.parent) {
+ target_node.parent.addChildAtPosition(moved_node,
target_node.parent.getChildIndex(target_node) + 1);
+ }
+ }
+ else if (position === Position.Before) {
+ if (target_node.parent) {
+ target_node.parent.addChildAtPosition(moved_node,
target_node.parent.getChildIndex(target_node));
+ }
+ }
+ else if (position === Position.Inside) {
+ // move inside as first child
+ target_node.addChildAtPosition(moved_node, 0);
+ }
+ }
};
- };
-
- MouseWidget.prototype._mouseUp = function(e) {
- return this._handleMouseUp(this._getPositionInfo(e));
- };
-
- MouseWidget.prototype._handleMouseUp = function(position_info) {
- var $document;
- $document = $(document);
- $document.unbind('mousemove.mousewidget');
- $document.unbind('touchmove.mousewidget');
- $document.unbind('mouseup.mousewidget');
- $document.unbind('touchend.mousewidget');
- if (this.is_mouse_started) {
- this.is_mouse_started = false;
- this._mouseStop(position_info);
- }
- };
-
- MouseWidget.prototype._mouseCapture = function(position_info) {
- return true;
- };
-
- MouseWidget.prototype._mouseStart = function(position_info) {
- return null;
- };
-
- MouseWidget.prototype._mouseDrag = function(position_info) {
- return null;
- };
-
- MouseWidget.prototype._mouseStop = function(position_info) {
- return null;
- };
-
- MouseWidget.prototype.setMouseDelay = function(mouse_delay) {
- return this.mouse_delay = mouse_delay;
- };
-
- MouseWidget.prototype._touchStart = function(e) {
- var touch;
- if (e.originalEvent.touches.length > 1) {
- return;
- }
- touch = e.originalEvent.changedTouches[0];
- return this._handleMouseDown(e, this._getPositionInfo(touch));
- };
-
- MouseWidget.prototype._touchMove = function(e) {
- var touch;
- if (e.originalEvent.touches.length > 1) {
- return;
- }
- touch = e.originalEvent.changedTouches[0];
- return this._handleMouseMove(e, this._getPositionInfo(touch));
- };
-
- MouseWidget.prototype._touchEnd = function(e) {
- var touch;
- if (e.originalEvent.touches.length > 1) {
- return;
- }
- touch = e.originalEvent.changedTouches[0];
- return this._handleMouseUp(this._getPositionInfo(touch));
- };
-
- return MouseWidget;
-
-})(SimpleWidget);
-
-module.exports = MouseWidget;
-
-},{"./simple.widget":10}],5:[function(require,module,exports){
-var $, Node, Position;
-
-$ = jQuery;
-
-Position = {
- getName: function(position) {
- return Position.strings[position - 1];
- },
- nameToIndex: function(name) {
- var i, j, ref;
- for (i = j = 1, ref = Position.strings.length; 1 <= ref ? j <= ref : j >=
ref; i = 1 <= ref ? ++j : --j) {
- if (Position.strings[i - 1] === name) {
- return i;
- }
- }
- return 0;
- }
-};
-
-Position.BEFORE = 1;
-
-Position.AFTER = 2;
-
-Position.INSIDE = 3;
-
-Position.NONE = 4;
-
-Position.strings = ['before', 'after', 'inside', 'none'];
-
-Node = (function() {
- function Node(o, is_root, node_class) {
- if (is_root == null) {
- is_root = false;
- }
- if (node_class == null) {
- node_class = Node;
- }
- this.name = '';
- this.setData(o);
- this.children = [];
- this.parent = null;
- if (is_root) {
- this.id_mapping = {};
- this.tree = this;
- this.node_class = node_class;
- }
- }
-
- Node.prototype.setData = function(o) {
-
/*
- Set the data of this node.
-
- setData(string): set the name of the node
- setdata(object): set attributes of the node
-
- Examples:
- setdata('node1')
-
- setData({ name: 'node1', id: 1});
-
- setData({ name: 'node2', id: 2, color: 'green'});
-
- * This is an internal function; it is not in the docs
- * Does not remove existing node values
- */
- var key, setName, value;
- setName = (function(_this) {
- return function(name) {
- if (name !== null) {
- return _this.name = name;
+ Get the tree as data.
+ */
+ Node.prototype.getData = function (include_parent) {
+ if (include_parent === void 0) { include_parent = false; }
+ function getDataFromNodes(nodes) {
+ return nodes.map(function (node) {
+ var tmp_node = {};
+ for (var k in node) {
+ if (["parent", "children", "element", "tree"].indexOf(k)
=== -1 &&
+ Object.prototype.hasOwnProperty.call(node, k)) {
+ var v = node[k];
+ tmp_node[k] = v;
+ }
+ }
+ if (node.hasChildren()) {
+ tmp_node["children"] = getDataFromNodes(node.children);
+ }
+ return tmp_node;
+ });
}
- };
- })(this);
- if (typeof o !== 'object') {
- setName(o);
- } else {
- for (key in o) {
- value = o[key];
- if (key === 'label') {
- setName(value);
- } else if (key !== 'children') {
- this[key] = value;
+ if (include_parent) {
+ return getDataFromNodes([this]);
}
- }
- }
- return null;
- };
-
- Node.prototype.initFromData = function(data) {
- var addChildren, addNode;
- addNode = (function(_this) {
- return function(node_data) {
- _this.setData(node_data);
- if (node_data.children) {
- return addChildren(node_data.children);
+ else {
+ return getDataFromNodes(this.children);
}
- };
- })(this);
- addChildren = (function(_this) {
- return function(children_data) {
- var child, j, len, node;
- for (j = 0, len = children_data.length; j < len; j++) {
- child = children_data[j];
- node = new _this.tree.node_class('');
- node.initFromData(child);
- _this.addChild(node);
+ };
+ Node.prototype.getNodeByName = function (name) {
+ return this.getNodeByCallback(function (node) { return node.name ===
name; });
+ };
+ Node.prototype.getNodeByCallback = function (callback) {
+ var result = null;
+ this.iterate(function (node) {
+ if (callback(node)) {
+ result = node;
+ return false;
+ }
+ else {
+ return true;
+ }
+ });
+ return result;
+ };
+ Node.prototype.addAfter = function (node_info) {
+ if (!this.parent) {
+ return null;
}
- return null;
- };
- })(this);
- addNode(data);
- return null;
- };
-
-
- /*
- Create tree from data.
-
- Structure of data is:
- [
- {
- label: 'node1',
- children: [
- { label: 'child1' },
- { label: 'child2' }
- ]
- },
- {
- label: 'node2'
- }
- ]
- */
-
- Node.prototype.loadFromData = function(data) {
- var j, len, node, o;
- this.removeChildren();
- for (j = 0, len = data.length; j < len; j++) {
- o = data[j];
- node = new this.tree.node_class(o);
- this.addChild(node);
- if (typeof o === 'object' && o.children) {
- node.loadFromData(o.children);
- }
- }
- return null;
- };
-
-
- /*
- Add child.
-
- tree.addChild(
- new Node('child1')
- );
- */
-
- Node.prototype.addChild = function(node) {
- this.children.push(node);
- return node._setParent(this);
- };
-
-
- /*
- Add child at position. Index starts at 0.
-
- tree.addChildAtPosition(
- new Node('abc'),
- 1
- );
- */
-
- Node.prototype.addChildAtPosition = function(node, index) {
- this.children.splice(index, 0, node);
- return node._setParent(this);
- };
-
- Node.prototype._setParent = function(parent) {
- this.parent = parent;
- this.tree = parent.tree;
- return this.tree.addNodeToIndex(this);
- };
-
-
- /*
- Remove child. This also removes the children of the node.
-
- tree.removeChild(tree.children[0]);
- */
-
- Node.prototype.removeChild = function(node) {
- node.removeChildren();
- return this._removeChild(node);
- };
-
- Node.prototype._removeChild = function(node) {
- this.children.splice(this.getChildIndex(node), 1);
- return this.tree.removeNodeFromIndex(node);
- };
-
-
- /*
- Get child index.
-
- var index = getChildIndex(node);
- */
-
- Node.prototype.getChildIndex = function(node) {
- return $.inArray(node, this.children);
- };
-
-
- /*
- Does the tree have children?
-
- if (tree.hasChildren()) {
- //
- }
- */
-
- Node.prototype.hasChildren = function() {
- return this.children.length !== 0;
- };
-
- Node.prototype.isFolder = function() {
- return this.hasChildren() || this.load_on_demand;
- };
-
-
- /*
- Iterate over all the nodes in the tree.
-
- Calls callback with (node, level).
-
- The callback must return true to continue the iteration on current node.
-
- tree.iterate(
- function(node, level) {
- console.log(node.name);
-
- // stop iteration after level 2
- return (level <= 2);
- }
- );
- */
-
- Node.prototype.iterate = function(callback) {
- var _iterate;
- _iterate = function(node, level) {
- var child, j, len, ref, result;
- if (node.children) {
- ref = node.children;
- for (j = 0, len = ref.length; j < len; j++) {
- child = ref[j];
- result = callback(child, level);
- if (result && child.hasChildren()) {
- _iterate(child, level + 1);
- }
+ else {
+ var node = new this.tree.node_class(node_info);
+ var child_index = this.parent.getChildIndex(this);
+ this.parent.addChildAtPosition(node, child_index + 1);
+ if (typeof node_info === "object" && node_info["children"] &&
node_info["children"].length) {
+ node.loadFromData(node_info["children"]);
+ }
+ return node;
}
- return null;
- }
};
- _iterate(this, 0);
- return null;
- };
-
-
- /*
- Move node relative to another node.
-
- Argument position: Position.BEFORE, Position.AFTER or Position.Inside
-
- // move node1 after node2
- tree.moveNode(node1, node2, Position.AFTER);
- */
-
- Node.prototype.moveNode = function(moved_node, target_node, position) {
- if (moved_node.isParentOf(target_node)) {
- return;
- }
- moved_node.parent._removeChild(moved_node);
- if (position === Position.AFTER) {
- return target_node.parent.addChildAtPosition(moved_node,
target_node.parent.getChildIndex(target_node) + 1);
- } else if (position === Position.BEFORE) {
- return target_node.parent.addChildAtPosition(moved_node,
target_node.parent.getChildIndex(target_node));
- } else if (position === Position.INSIDE) {
- return target_node.addChildAtPosition(moved_node, 0);
- }
- };
-
-
- /*
- Get the tree as data.
- */
-
- Node.prototype.getData = function(include_parent) {
- var getDataFromNodes;
- if (include_parent == null) {
- include_parent = false;
- }
- getDataFromNodes = function(nodes) {
- var data, j, k, len, node, tmp_node, v;
- data = [];
- for (j = 0, len = nodes.length; j < len; j++) {
- node = nodes[j];
- tmp_node = {};
- for (k in node) {
- v = node[k];
- if ((k !== 'parent' && k !== 'children' && k !== 'element' && k !==
'tree') && Object.prototype.hasOwnProperty.call(node, k)) {
- tmp_node[k] = v;
- }
+ Node.prototype.addBefore = function (node_info) {
+ if (!this.parent) {
+ return null;
}
- if (node.hasChildren()) {
- tmp_node.children = getDataFromNodes(node.children);
+ else {
+ var node = new this.tree.node_class(node_info);
+ var child_index = this.parent.getChildIndex(this);
+ this.parent.addChildAtPosition(node, child_index);
+ if (typeof node_info === "object" && node_info["children"] &&
node_info["children"].length) {
+ node.loadFromData(node_info["children"]);
+ }
+ return node;
}
- data.push(tmp_node);
- }
- return data;
};
- if (include_parent) {
- return getDataFromNodes([this]);
- } else {
- return getDataFromNodes(this.children);
- }
- };
-
- Node.prototype.getNodeByName = function(name) {
- return this.getNodeByCallback(function(node) {
- return node.name === name;
- });
- };
-
- Node.prototype.getNodeByCallback = function(callback) {
- var result;
- result = null;
- this.iterate(function(node) {
- if (callback(node)) {
- result = node;
+ Node.prototype.addParent = function (node_info) {
+ if (!this.parent) {
+ return null;
+ }
+ else {
+ var new_parent = new this.tree.node_class(node_info);
+ new_parent._setParent(this.tree);
+ var original_parent = this.parent;
+ for (var _i = 0, _a = original_parent.children; _i < _a.length;
_i++) {
+ var child = _a[_i];
+ new_parent.addChild(child);
+ }
+ original_parent.children = [];
+ original_parent.addChild(new_parent);
+ return new_parent;
+ }
+ };
+ Node.prototype.remove = function () {
+ if (this.parent) {
+ this.parent.removeChild(this);
+ this.parent = null;
+ }
+ };
+ Node.prototype.append = function (node_info) {
+ var node = new this.tree.node_class(node_info);
+ this.addChild(node);
+ if (typeof node_info === "object" && node_info["children"] &&
node_info["children"].length) {
+ node.loadFromData(node_info["children"]);
+ }
+ return node;
+ };
+ Node.prototype.prepend = function (node_info) {
+ var node = new this.tree.node_class(node_info);
+ this.addChildAtPosition(node, 0);
+ if (typeof node_info === "object" && node_info["children"] &&
node_info["children"].length) {
+ node.loadFromData(node_info["children"]);
+ }
+ return node;
+ };
+ Node.prototype.isParentOf = function (node) {
+ var parent = node.parent;
+ while (parent) {
+ if (parent === this) {
+ return true;
+ }
+ parent = parent.parent;
+ }
return false;
- } else {
- return true;
- }
- });
- return result;
- };
+ };
+ Node.prototype.getLevel = function () {
+ var level = 0;
+ var node = this;
+ while (node.parent) {
+ level += 1;
+ node = node.parent;
+ }
+ return level;
+ };
+ Node.prototype.getNodeById = function (node_id) {
+ return this.id_mapping[node_id];
+ };
+ Node.prototype.addNodeToIndex = function (node) {
+ if (node.id != null) {
+ this.id_mapping[node.id] = node;
+ }
+ };
+ Node.prototype.removeNodeFromIndex = function (node) {
+ if (node.id != null) {
+ delete this.id_mapping[node.id];
+ }
+ };
+ Node.prototype.removeChildren = function () {
+ var _this = this;
+ this.iterate(function (child) {
+ _this.tree.removeNodeFromIndex(child);
+ return true;
+ });
+ this.children = [];
+ };
+ Node.prototype.getPreviousSibling = function () {
+ if (!this.parent) {
+ return null;
+ }
+ else {
+ var previous_index = this.parent.getChildIndex(this) - 1;
+ if (previous_index >= 0) {
+ return this.parent.children[previous_index];
+ }
+ else {
+ return null;
+ }
+ }
+ };
+ Node.prototype.getNextSibling = function () {
+ if (!this.parent) {
+ return null;
+ }
+ else {
+ var next_index = this.parent.getChildIndex(this) + 1;
+ if (next_index < this.parent.children.length) {
+ return this.parent.children[next_index];
+ }
+ else {
+ return null;
+ }
+ }
+ };
+ Node.prototype.getNodesByProperty = function (key, value) {
+ return this.filter(function (node) { return node[key] === value; });
+ };
+ Node.prototype.filter = function (f) {
+ var result = [];
+ this.iterate(function (node) {
+ if (f(node)) {
+ result.push(node);
+ }
+ return true;
+ });
+ return result;
+ };
+ Node.prototype.getNextNode = function (include_children) {
+ if (include_children === void 0) { include_children = true; }
+ if (include_children && this.hasChildren() && this.is_open) {
+ // First child
+ return this.children[0];
+ }
+ else {
+ if (!this.parent) {
+ return null;
+ }
+ else {
+ var next_sibling = this.getNextSibling();
+ if (next_sibling) {
+ // Next sibling
+ return next_sibling;
+ }
+ else {
+ // Next node of parent
+ return this.parent.getNextNode(false);
+ }
+ }
+ }
+ };
+ Node.prototype.getPreviousNode = function () {
+ if (!this.parent) {
+ return null;
+ }
+ else {
+ var previous_sibling = this.getPreviousSibling();
+ if (previous_sibling) {
+ if (!previous_sibling.hasChildren() ||
!previous_sibling.is_open) {
+ // Previous sibling
+ return previous_sibling;
+ }
+ else {
+ // Last child of previous sibling
+ return previous_sibling.getLastChild();
+ }
+ }
+ else {
+ return this.getParent();
+ }
+ }
+ };
+ Node.prototype.getParent = function () {
+ // Return parent except if it is the root node
+ if (!this.parent) {
+ return null;
+ }
+ else if (!this.parent.parent) {
+ // Root node -> null
+ return null;
+ }
+ else {
+ return this.parent;
+ }
+ };
+ Node.prototype.getLastChild = function () {
+ if (!this.hasChildren()) {
+ return null;
+ }
+ else {
+ var last_child = this.children[this.children.length - 1];
+ if (!last_child.hasChildren() || !last_child.is_open) {
+ return last_child;
+ }
+ else {
+ return last_child.getLastChild();
+ }
+ }
+ };
+ // Init Node from data without making it the root of the tree
+ Node.prototype.initFromData = function (data) {
+ var _this = this;
+ var addNode = function (node_data) {
+ _this.setData(node_data);
+ if (node_data["children"]) {
+ addChildren(node_data["children"]);
+ }
+ };
+ var addChildren = function (children_data) {
+ for (var _i = 0, children_data_1 = children_data; _i <
children_data_1.length; _i++) {
+ var child = children_data_1[_i];
+ var node = new _this.tree.node_class("");
+ node.initFromData(child);
+ _this.addChild(node);
+ }
+ };
+ addNode(data);
+ };
+ Node.prototype._setParent = function (parent) {
+ this.parent = parent;
+ this.tree = parent.tree;
+ this.tree.addNodeToIndex(this);
+ };
+ Node.prototype._removeChild = function (node) {
+ this.children.splice(this.getChildIndex(node), 1);
+ this.tree.removeNodeFromIndex(node);
+ };
+ return Node;
+}());
+exports.Node = Node;
- Node.prototype.addAfter = function(node_info) {
- var child_index, node;
- if (!this.parent) {
- return null;
- } else {
- node = new this.tree.node_class(node_info);
- child_index = this.parent.getChildIndex(this);
- this.parent.addChildAtPosition(node, child_index + 1);
- if (typeof node_info === 'object' && node_info.children &&
node_info.children.length) {
- node.loadFromData(node_info.children);
- }
- return node;
- }
- };
- Node.prototype.addBefore = function(node_info) {
- var child_index, node;
- if (!this.parent) {
- return null;
- } else {
- node = new this.tree.node_class(node_info);
- child_index = this.parent.getChildIndex(this);
- this.parent.addChildAtPosition(node, child_index);
- if (typeof node_info === 'object' && node_info.children &&
node_info.children.length) {
- node.loadFromData(node_info.children);
- }
- return node;
- }
- };
+/***/ }),
+/* 1 */
+/***/ (function(module, exports, __webpack_require__) {
- Node.prototype.addParent = function(node_info) {
- var child, j, len, new_parent, original_parent, ref;
- if (!this.parent) {
- return null;
- } else {
- new_parent = new this.tree.node_class(node_info);
- new_parent._setParent(this.tree);
- original_parent = this.parent;
- ref = original_parent.children;
- for (j = 0, len = ref.length; j < len; j++) {
- child = ref[j];
- new_parent.addChild(child);
- }
- original_parent.children = [];
- original_parent.addChild(new_parent);
- return new_parent;
- }
- };
+"use strict";
- Node.prototype.remove = function() {
- if (this.parent) {
- this.parent.removeChild(this);
- return this.parent = null;
+exports.__esModule = true;
+function isInt(n) {
+ return typeof n === "number" && n % 1 === 0;
+}
+exports.isInt = isInt;
+function isFunction(v) {
+ return typeof v === "function";
+}
+exports.isFunction = isFunction;
+// Escape a string for HTML interpolation; copied from underscore js
+function html_escape(text) {
+ return ("" + text)
+ .replace(/&/g, "&")
+ .replace(/</g, "<")
+ .replace(/>/g, ">")
+ .replace(/"/g, """)
+ .replace(/'/g, "'")
+ .replace(/\//g, "/");
+}
+exports.html_escape = html_escape;
+function getBoolString(value) {
+ if (value) {
+ return "true";
}
- };
-
- Node.prototype.append = function(node_info) {
- var node;
- node = new this.tree.node_class(node_info);
- this.addChild(node);
- if (typeof node_info === 'object' && node_info.children &&
node_info.children.length) {
- node.loadFromData(node_info.children);
+ else {
+ return "false";
}
- return node;
- };
+}
+exports.getBoolString = getBoolString;
- Node.prototype.prepend = function(node_info) {
- var node;
- node = new this.tree.node_class(node_info);
- this.addChildAtPosition(node, 0);
- if (typeof node_info === 'object' && node_info.children &&
node_info.children.length) {
- node.loadFromData(node_info.children);
- }
- return node;
- };
- Node.prototype.isParentOf = function(node) {
- var parent;
- parent = node.parent;
- while (parent) {
- if (parent === this) {
- return true;
- }
- parent = parent.parent;
- }
- return false;
- };
+/***/ }),
+/* 2 */
+/***/ (function(module, exports, __webpack_require__) {
- Node.prototype.getLevel = function() {
- var level, node;
- level = 0;
- node = this;
- while (node.parent) {
- level += 1;
- node = node.parent;
- }
- return level;
- };
+"use strict";
- Node.prototype.getNodeById = function(node_id) {
- return this.id_mapping[node_id];
- };
-
- Node.prototype.addNodeToIndex = function(node) {
- if (node.id != null) {
- return this.id_mapping[node.id] = node;
+exports.__esModule = true;
+var SimpleWidget = (function () {
+ function SimpleWidget(el, options) {
+ this.$el = $(el);
+ var defaults = this.constructor.defaults;
+ this.options = $.extend({}, defaults, options);
}
- };
-
- Node.prototype.removeNodeFromIndex = function(node) {
- if (node.id != null) {
- return delete this.id_mapping[node.id];
- }
- };
-
- Node.prototype.removeChildren = function() {
- this.iterate((function(_this) {
- return function(child) {
- _this.tree.removeNodeFromIndex(child);
- return true;
- };
- })(this));
- return this.children = [];
- };
-
- Node.prototype.getPreviousSibling = function() {
- var previous_index;
- if (!this.parent) {
- return null;
- } else {
- previous_index = this.parent.getChildIndex(this) - 1;
- if (previous_index >= 0) {
- return this.parent.children[previous_index];
- } else {
- return null;
- }
- }
- };
-
- Node.prototype.getNextSibling = function() {
- var next_index;
- if (!this.parent) {
- return null;
- } else {
- next_index = this.parent.getChildIndex(this) + 1;
- if (next_index < this.parent.children.length) {
- return this.parent.children[next_index];
- } else {
- return null;
- }
- }
- };
-
- Node.prototype.getNodesByProperty = function(key, value) {
- return this.filter(function(node) {
- return node[key] === value;
- });
- };
-
- Node.prototype.filter = function(f) {
- var result;
- result = [];
- this.iterate(function(node) {
- if (f(node)) {
- result.push(node);
- }
- return true;
- });
- return result;
- };
-
- Node.prototype.getNextNode = function(include_children) {
- var next_sibling;
- if (include_children == null) {
- include_children = true;
- }
- if (include_children && this.hasChildren() && this.is_open) {
- return this.children[0];
- } else {
- if (!this.parent) {
- return null;
- } else {
- next_sibling = this.getNextSibling();
- if (next_sibling) {
- return next_sibling;
- } else {
- return this.parent.getNextNode(false);
+ SimpleWidget.register = function (widget_class, widget_name) {
+ var getDataKey = function () { return "simple_widget_" + widget_name;
};
+ function getWidgetData(el, data_key) {
+ var widget = $.data(el, data_key);
+ if (widget && (widget instanceof SimpleWidget)) {
+ return widget;
+ }
+ else {
+ return null;
+ }
}
- }
- }
- };
-
- Node.prototype.getPreviousNode = function() {
- var previous_sibling;
- if (!this.parent) {
- return null;
- } else {
- previous_sibling = this.getPreviousSibling();
- if (previous_sibling) {
- if (!previous_sibling.hasChildren() || !previous_sibling.is_open) {
- return previous_sibling;
- } else {
- return previous_sibling.getLastChild();
+ function createWidget($el, options) {
+ var data_key = getDataKey();
+ for (var _i = 0, _a = $el.get(); _i < _a.length; _i++) {
+ var el = _a[_i];
+ var existing_widget = getWidgetData(el, data_key);
+ if (!existing_widget) {
+ var widget = new widget_class(el, options);
+ if (!$.data(el, data_key)) {
+ $.data(el, data_key, widget);
+ }
+ // Call init after setting data, so we can call methods
+ widget._init();
+ }
+ }
+ return $el;
}
- } else {
- return this.getParent();
- }
- }
- };
+ function destroyWidget($el) {
+ var data_key = getDataKey();
+ for (var _i = 0, _a = $el.get(); _i < _a.length; _i++) {
+ var el = _a[_i];
+ var widget = getWidgetData(el, data_key);
+ if (widget) {
+ widget.destroy();
+ }
+ $.removeData(el, data_key);
+ }
+ }
+ function callFunction($el, function_name, args) {
+ var result = null;
+ for (var _i = 0, _a = $el.get(); _i < _a.length; _i++) {
+ var el = _a[_i];
+ var widget = $.data(el, getDataKey());
+ if (widget && (widget instanceof SimpleWidget)) {
+ var widget_function = widget[function_name];
+ if (widget_function && (typeof widget_function ===
"function")) {
+ result = widget_function.apply(widget, args);
+ }
+ }
+ }
+ return result;
+ }
+ // tslint:disable-next-line: only-arrow-functions
+ $.fn[widget_name] = function (argument1) {
+ var args = [];
+ for (var _i = 1; _i < arguments.length; _i++) {
+ args[_i - 1] = arguments[_i];
+ }
+ var $el = this;
+ if (argument1 === undefined || typeof argument1 === "object") {
+ var options = argument1;
+ return createWidget($el, options);
+ }
+ else if (typeof argument1 === "string" && argument1[0] !== "_") {
+ var function_name = argument1;
+ if (function_name === "destroy") {
+ return destroyWidget($el);
+ }
+ else if (function_name === "get_widget_class") {
+ return widget_class;
+ }
+ else {
+ return callFunction($el, function_name, args);
+ }
+ }
+ };
+ };
+ SimpleWidget.prototype.destroy = function () {
+ this._deinit();
+ };
+ SimpleWidget.prototype._init = function () {
+ //
+ };
+ SimpleWidget.prototype._deinit = function () {
+ //
+ };
+ return SimpleWidget;
+}());
+SimpleWidget.defaults = {};
+exports["default"] = SimpleWidget;
- Node.prototype.getParent = function() {
- if (!this.parent) {
- return null;
- } else if (!this.parent.parent) {
- return null;
- } else {
- return this.parent;
- }
- };
- Node.prototype.getLastChild = function() {
- var last_child;
- if (!this.hasChildren()) {
- return null;
- } else {
- last_child = this.children[this.children.length - 1];
- if (!last_child.hasChildren() || !last_child.is_open) {
- return last_child;
- } else {
- return last_child.getLastChild();
- }
- }
- };
+/***/ }),
+/* 3 */
+/***/ (function(module, exports, __webpack_require__) {
- return Node;
+"use strict";
+var __extends = (this && this.__extends) || (function () {
+ var extendStatics = Object.setPrototypeOf ||
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ =
b; }) ||
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] =
b[p]; };
+ return function (d, b) {
+ extendStatics(d, b);
+ function __() { this.constructor = d; }
+ d.prototype = b === null ? Object.create(b) : (__.prototype =
b.prototype, new __());
+ };
})();
-
-module.exports = {
- Node: Node,
- Position: Position
-};
-
-},{}],6:[function(require,module,exports){
-var $, BorderDropHint, FolderElement, GhostDropHint, NodeElement, Position,
node,
- extend = function(child, parent) { for (var key in parent) { if
(hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() {
this.constructor = child; } ctor.prototype = parent.prototype; child.prototype
= new ctor(); child.__super__ = parent.prototype; return child; },
- hasProp = {}.hasOwnProperty;
-
-node = require('./node');
-
-Position = node.Position;
-
-$ = jQuery;
-
-NodeElement = (function() {
- function NodeElement(node, tree_widget) {
- this.init(node, tree_widget);
- }
-
- NodeElement.prototype.init = function(node, tree_widget) {
- this.node = node;
- this.tree_widget = tree_widget;
- if (!node.element) {
- node.element = this.tree_widget.element;
+exports.__esModule = true;
+var version_1 = __webpack_require__(12);
+var drag_and_drop_handler_1 = __webpack_require__(4);
+var elements_renderer_1 = __webpack_require__(5);
+var key_handler_1 = __webpack_require__(6);
+var mouse_widget_1 = __webpack_require__(7);
+var save_state_handler_1 = __webpack_require__(9);
+var scroll_handler_1 = __webpack_require__(10);
+var select_node_handler_1 = __webpack_require__(11);
+var simple_widget_1 = __webpack_require__(2);
+var node_1 = __webpack_require__(0);
+var util_1 = __webpack_require__(1);
+var node_element_1 = __webpack_require__(8);
+var JqTreeWidget = (function (_super) {
+ __extends(JqTreeWidget, _super);
+ function JqTreeWidget() {
+ return _super !== null && _super.apply(this, arguments) || this;
}
- return this.$element = $(node.element);
- };
+ JqTreeWidget.prototype.toggle = function (node, slide_param) {
+ var slide = slide_param == null ? this.options.slide : slide_param;
+ if (node.is_open) {
+ this.closeNode(node, slide);
+ }
+ else {
+ this.openNode(node, slide);
+ }
+ return this.element;
+ };
+ JqTreeWidget.prototype.getTree = function () {
+ return this.tree;
+ };
+ JqTreeWidget.prototype.selectNode = function (node) {
+ this._selectNode(node, false);
+ return this.element;
+ };
+ JqTreeWidget.prototype.getSelectedNode = function () {
+ if (this.select_node_handler) {
+ return this.select_node_handler.getSelectedNode();
+ }
+ else {
+ return false;
+ }
+ };
+ JqTreeWidget.prototype.toJson = function () {
+ return JSON.stringify(this.tree.getData());
+ };
+ JqTreeWidget.prototype.loadData = function (data, parent_node) {
+ this._loadData(data, parent_node);
+ return this.element;
+ };
+ /*
+ signatures:
+ - loadDataFromUrl(url, parent_node=null, on_finished=null)
+ loadDataFromUrl('/my_data');
+ loadDataFromUrl('/my_data', node1);
+ loadDataFromUrl('/my_data', node1, function() {
console.log('finished'); });
+ loadDataFromUrl('/my_data', null, function() {
console.log('finished'); });
- NodeElement.prototype.getUl = function() {
- return this.$element.children('ul:first');
- };
-
- NodeElement.prototype.getSpan = function() {
- return this.$element.children('.jqtree-element').find('span.jqtree-title');
- };
-
- NodeElement.prototype.getLi = function() {
- return this.$element;
- };
-
- NodeElement.prototype.addDropHint = function(position) {
- if (position === Position.INSIDE) {
- return new BorderDropHint(this.$element);
- } else {
- return new GhostDropHint(this.node, this.$element, position);
- }
- };
-
- NodeElement.prototype.select = function() {
- var $li, $span;
- $li = this.getLi();
- $li.addClass('jqtree-selected');
- $li.attr('aria-selected', 'true');
- $span = this.getSpan();
- return $span.attr('tabindex', 0);
- };
-
- NodeElement.prototype.deselect = function() {
- var $li, $span;
- $li = this.getLi();
- $li.removeClass('jqtree-selected');
- $li.attr('aria-selected', 'false');
- $span = this.getSpan();
- return $span.attr('tabindex', -1);
- };
-
- return NodeElement;
-
-})();
-
-FolderElement = (function(superClass) {
- extend(FolderElement, superClass);
-
- function FolderElement() {
- return FolderElement.__super__.constructor.apply(this, arguments);
- }
-
- FolderElement.prototype.open = function(on_finished, slide) {
- var $button, doOpen;
- if (slide == null) {
- slide = true;
- }
- if (!this.node.is_open) {
- this.node.is_open = true;
- $button = this.getButton();
- $button.removeClass('jqtree-closed');
- $button.html('');
-
$button.append(this.tree_widget.renderer.opened_icon_element.cloneNode(false));
- doOpen = (function(_this) {
- return function() {
- var $li, $span;
- $li = _this.getLi();
- $li.removeClass('jqtree-closed');
- $span = _this.getSpan();
- $span.attr('aria-expanded', 'true');
- if (on_finished) {
- on_finished(_this.node);
- }
- return _this.tree_widget._triggerEvent('tree.open', {
- node: _this.node
- });
+ - loadDataFromUrl(parent_node=null, on_finished=null)
+ loadDataFromUrl();
+ loadDataFromUrl(node1);
+ loadDataFromUrl(null, function() { console.log('finished'); });
+ loadDataFromUrl(node1, function() { console.log('finished'); });
+ */
+ JqTreeWidget.prototype.loadDataFromUrl = function (param1, param2, param3)
{
+ if ($.type(param1) === "string") {
+ // first parameter is url
+ this._loadDataFromUrl(param1, param2, param3);
+ }
+ else {
+ // first parameter is not url
+ this._loadDataFromUrl(null, param1, param2);
+ }
+ return this.element;
+ };
+ JqTreeWidget.prototype.reload = function (on_finished) {
+ this._loadDataFromUrl(null, null, on_finished);
+ return this.element;
+ };
+ JqTreeWidget.prototype.getNodeById = function (node_id) {
+ return this.tree.getNodeById(node_id);
+ };
+ JqTreeWidget.prototype.getNodeByName = function (name) {
+ return this.tree.getNodeByName(name);
+ };
+ JqTreeWidget.prototype.getNodesByProperty = function (key, value) {
+ return this.tree.getNodesByProperty(key, value);
+ };
+ JqTreeWidget.prototype.getNodeByHtmlElement = function (element) {
+ return this._getNode($(element));
+ };
+ JqTreeWidget.prototype.getNodeByCallback = function (callback) {
+ return this.tree.getNodeByCallback(callback);
+ };
+ JqTreeWidget.prototype.openNode = function (node, param1, param2) {
+ var _this = this;
+ var parseParams = function () {
+ var on_finished;
+ var slide;
+ if (util_1.isFunction(param1)) {
+ on_finished = param1;
+ slide = null;
+ }
+ else {
+ slide = param1;
+ on_finished = param2;
+ }
+ if (slide == null) {
+ slide = _this.options.slide;
+ }
+ return [slide, on_finished];
};
- })(this);
- if (slide) {
- return this.getUl().slideDown('fast', doOpen);
- } else {
- this.getUl().show();
- return doOpen();
- }
- }
- };
-
- FolderElement.prototype.close = function(slide) {
- var $button, doClose;
- if (slide == null) {
- slide = true;
- }
- if (this.node.is_open) {
- this.node.is_open = false;
- $button = this.getButton();
- $button.addClass('jqtree-closed');
- $button.html('');
-
$button.append(this.tree_widget.renderer.closed_icon_element.cloneNode(false));
- doClose = (function(_this) {
- return function() {
- var $li, $span;
- $li = _this.getLi();
- $li.addClass('jqtree-closed');
- $span = _this.getSpan();
- $span.attr('aria-expanded', 'false');
- return _this.tree_widget._triggerEvent('tree.close', {
- node: _this.node
- });
+ var _a = parseParams(), slide = _a[0], on_finished = _a[1];
+ if (node) {
+ this._openNode(node, slide, on_finished);
+ }
+ return this.element;
+ };
+ JqTreeWidget.prototype.closeNode = function (node, slide_param) {
+ var slide = slide_param == null ? this.options.slide : slide_param;
+ if (node.isFolder()) {
+ new node_element_1.FolderElement(node, this).close(slide);
+ this._saveState();
+ }
+ return this.element;
+ };
+ JqTreeWidget.prototype.isDragging = function () {
+ if (this.dnd_handler) {
+ return this.dnd_handler.is_dragging;
+ }
+ else {
+ return false;
+ }
+ };
+ JqTreeWidget.prototype.refreshHitAreas = function () {
+ if (this.dnd_handler) {
+ this.dnd_handler.refresh();
+ }
+ return this.element;
+ };
+ JqTreeWidget.prototype.addNodeAfter = function (new_node_info,
existing_node) {
+ var new_node = existing_node.addAfter(new_node_info);
+ if (new_node) {
+ this._refreshElements(existing_node.parent);
+ }
+ return new_node;
+ };
+ JqTreeWidget.prototype.addNodeBefore = function (new_node_info,
existing_node) {
+ var new_node = existing_node.addBefore(new_node_info);
+ if (new_node) {
+ this._refreshElements(existing_node.parent);
+ }
+ return new_node;
+ };
+ JqTreeWidget.prototype.addParentNode = function (new_node_info,
existing_node) {
+ var new_node = existing_node.addParent(new_node_info);
+ if (new_node) {
+ this._refreshElements(new_node.parent);
+ }
+ return new_node;
+ };
+ JqTreeWidget.prototype.removeNode = function (node) {
+ if (node.parent && this.select_node_handler) {
+ this.select_node_handler.removeFromSelection(node, true); //
including children
+ node.remove();
+ this._refreshElements(node.parent);
+ }
+ return this.element;
+ };
+ JqTreeWidget.prototype.appendNode = function (new_node_info,
parent_node_param) {
+ var parent_node = parent_node_param || this.tree;
+ var node = parent_node.append(new_node_info);
+ this._refreshElements(parent_node);
+ return node;
+ };
+ JqTreeWidget.prototype.prependNode = function (new_node_info,
parent_node_param) {
+ var parent_node = !parent_node_param ? this.tree : parent_node_param;
+ var node = parent_node.prepend(new_node_info);
+ this._refreshElements(parent_node);
+ return node;
+ };
+ JqTreeWidget.prototype.updateNode = function (node, data) {
+ var id_is_changed = data.id && data.id !== node.id;
+ if (id_is_changed) {
+ this.tree.removeNodeFromIndex(node);
+ }
+ node.setData(data);
+ if (id_is_changed) {
+ this.tree.addNodeToIndex(node);
+ }
+ if (typeof data === "object" && data.children) {
+ node.removeChildren();
+ if (data.children.length) {
+ node.loadFromData(data.children);
+ }
+ }
+ this.renderer.renderFromNode(node);
+ this._selectCurrentNode();
+ return this.element;
+ };
+ JqTreeWidget.prototype.moveNode = function (node, target_node, position) {
+ var position_index = node_1.getPosition(position);
+ this.tree.moveNode(node, target_node, position_index);
+ this._refreshElements(null);
+ return this.element;
+ };
+ JqTreeWidget.prototype.getStateFromStorage = function () {
+ if (this.save_state_handler) {
+ return this.save_state_handler.getStateFromStorage();
+ }
+ };
+ JqTreeWidget.prototype.addToSelection = function (node) {
+ if (node && this.select_node_handler) {
+ this.select_node_handler.addToSelection(node);
+ this._getNodeElementForNode(node).select();
+ this._saveState();
+ }
+ return this.element;
+ };
+ JqTreeWidget.prototype.getSelectedNodes = function () {
+ if (!this.select_node_handler) {
+ return [];
+ }
+ else {
+ return this.select_node_handler.getSelectedNodes();
+ }
+ };
+ JqTreeWidget.prototype.isNodeSelected = function (node) {
+ if (!this.select_node_handler) {
+ return false;
+ }
+ else {
+ return this.select_node_handler.isNodeSelected(node);
+ }
+ };
+ JqTreeWidget.prototype.removeFromSelection = function (node) {
+ if (this.select_node_handler) {
+ this.select_node_handler.removeFromSelection(node);
+ this._getNodeElementForNode(node).deselect();
+ this._saveState();
+ }
+ return this.element;
+ };
+ JqTreeWidget.prototype.scrollToNode = function (node) {
+ if (this.scroll_handler) {
+ var $element = $(node.element);
+ var top_1 = $element.offset().top - this.$el.offset().top;
+ this.scroll_handler.scrollTo(top_1);
+ }
+ return this.element;
+ };
+ JqTreeWidget.prototype.getState = function () {
+ if (this.save_state_handler) {
+ return this.save_state_handler.getState();
+ }
+ };
+ JqTreeWidget.prototype.setState = function (state) {
+ if (this.save_state_handler) {
+ this.save_state_handler.setInitialState(state);
+ this._refreshElements(null);
+ }
+ return this.element;
+ };
+ JqTreeWidget.prototype.setOption = function (option, value) {
+ this.options[option] = value;
+ return this.element;
+ };
+ JqTreeWidget.prototype.moveDown = function () {
+ if (this.key_handler) {
+ this.key_handler.moveDown();
+ }
+ return this.element;
+ };
+ JqTreeWidget.prototype.moveUp = function () {
+ if (this.key_handler) {
+ this.key_handler.moveUp();
+ }
+ return this.element;
+ };
+ JqTreeWidget.prototype.getVersion = function () {
+ return version_1["default"];
+ };
+ JqTreeWidget.prototype.testGenerateHitAreas = function (moving_node) {
+ if (!this.dnd_handler) {
+ return [];
+ }
+ else {
+ this.dnd_handler.current_item =
this._getNodeElementForNode(moving_node);
+ this.dnd_handler.generateHitAreas();
+ return this.dnd_handler.hit_areas;
+ }
+ };
+ JqTreeWidget.prototype._triggerEvent = function (event_name, values) {
+ var event = $.Event(event_name);
+ $.extend(event, values);
+ this.element.trigger(event);
+ return event;
+ };
+ JqTreeWidget.prototype._openNode = function (node, slide, on_finished) {
+ var _this = this;
+ if (slide === void 0) { slide = true; }
+ var doOpenNode = function (_node, _slide, _on_finished) {
+ var folder_element = new node_element_1.FolderElement(_node,
_this);
+ folder_element.open(_on_finished, _slide);
};
- })(this);
- if (slide) {
- return this.getUl().slideUp('fast', doClose);
- } else {
- this.getUl().hide();
- return doClose();
- }
- }
- };
-
- FolderElement.prototype.getButton = function() {
- return this.$element.children('.jqtree-element').find('a.jqtree-toggler');
- };
-
- FolderElement.prototype.addDropHint = function(position) {
- if (!this.node.is_open && position === Position.INSIDE) {
- return new BorderDropHint(this.$element);
- } else {
- return new GhostDropHint(this.node, this.$element, position);
- }
- };
-
- return FolderElement;
-
-})(NodeElement);
-
-BorderDropHint = (function() {
- function BorderDropHint($element) {
- var $div, width;
- $div = $element.children('.jqtree-element');
- width = $element.width() - 4;
- this.$hint = $('<span class="jqtree-border"></span>');
- $div.append(this.$hint);
- this.$hint.css({
- width: width,
- height: $div.outerHeight() - 4
- });
- }
-
- BorderDropHint.prototype.remove = function() {
- return this.$hint.remove();
- };
-
- return BorderDropHint;
-
-})();
-
-GhostDropHint = (function() {
- function GhostDropHint(node, $element, position) {
- this.$element = $element;
- this.node = node;
- this.$ghost = $('<li class="jqtree_common jqtree-ghost"><span
class="jqtree_common jqtree-circle"></span><span class="jqtree_common
jqtree-line"></span></li>');
- if (position === Position.AFTER) {
- this.moveAfter();
- } else if (position === Position.BEFORE) {
- this.moveBefore();
- } else if (position === Position.INSIDE) {
- if (node.isFolder() && node.is_open) {
- this.moveInsideOpenFolder();
- } else {
- this.moveInside();
- }
- }
- }
-
- GhostDropHint.prototype.remove = function() {
- return this.$ghost.remove();
- };
-
- GhostDropHint.prototype.moveAfter = function() {
- return this.$element.after(this.$ghost);
- };
-
- GhostDropHint.prototype.moveBefore = function() {
- return this.$element.before(this.$ghost);
- };
-
- GhostDropHint.prototype.moveInsideOpenFolder = function() {
- return $(this.node.children[0].element).before(this.$ghost);
- };
-
- GhostDropHint.prototype.moveInside = function() {
- this.$element.after(this.$ghost);
- return this.$ghost.addClass('jqtree-inside');
- };
-
- return GhostDropHint;
-
-})();
-
-module.exports = {
- BorderDropHint: BorderDropHint,
- FolderElement: FolderElement,
- GhostDropHint: GhostDropHint,
- NodeElement: NodeElement
-};
-
-},{"./node":5}],7:[function(require,module,exports){
-var $, SaveStateHandler, indexOf, isInt, util;
-
-util = require('./util');
-
-indexOf = util.indexOf;
-
-isInt = util.isInt;
-
-$ = jQuery;
-
-SaveStateHandler = (function() {
- function SaveStateHandler(tree_widget) {
- this.tree_widget = tree_widget;
- }
-
- SaveStateHandler.prototype.saveState = function() {
- var state;
- state = JSON.stringify(this.getState());
- if (this.tree_widget.options.onSetStateFromStorage) {
- return this.tree_widget.options.onSetStateFromStorage(state);
- } else if (this.supportsLocalStorage()) {
- return localStorage.setItem(this.getCookieName(), state);
- } else if ($.cookie) {
- $.cookie.raw = true;
- return $.cookie(this.getCookieName(), state, {
- path: '/'
- });
- }
- };
-
- SaveStateHandler.prototype.getStateFromStorage = function() {
- var json_data;
- json_data = this._loadFromStorage();
- if (json_data) {
- return this._parseState(json_data);
- } else {
- return null;
- }
- };
-
- SaveStateHandler.prototype._parseState = function(json_data) {
- var state;
- state = $.parseJSON(json_data);
- if (state && state.selected_node && isInt(state.selected_node)) {
- state.selected_node = [state.selected_node];
- }
- return state;
- };
-
- SaveStateHandler.prototype._loadFromStorage = function() {
- if (this.tree_widget.options.onGetStateFromStorage) {
- return this.tree_widget.options.onGetStateFromStorage();
- } else if (this.supportsLocalStorage()) {
- return localStorage.getItem(this.getCookieName());
- } else if ($.cookie) {
- $.cookie.raw = true;
- return $.cookie(this.getCookieName());
- } else {
- return null;
- }
- };
-
- SaveStateHandler.prototype.getState = function() {
- var getOpenNodeIds, getSelectedNodeIds;
- getOpenNodeIds = (function(_this) {
- return function() {
- var open_nodes;
- open_nodes = [];
- _this.tree_widget.tree.iterate(function(node) {
- if (node.is_open && node.id && node.hasChildren()) {
- open_nodes.push(node.id);
- }
- return true;
- });
- return open_nodes;
- };
- })(this);
- getSelectedNodeIds = (function(_this) {
- return function() {
- var n;
- return (function() {
- var i, len, ref, results;
- ref = this.tree_widget.getSelectedNodes();
- results = [];
- for (i = 0, len = ref.length; i < len; i++) {
- n = ref[i];
- results.push(n.id);
- }
- return results;
- }).call(_this);
- };
- })(this);
- return {
- open_nodes: getOpenNodeIds(),
- selected_node: getSelectedNodeIds()
+ if (node.isFolder()) {
+ if (node.load_on_demand) {
+ this._loadFolderOnDemand(node, slide, on_finished);
+ }
+ else {
+ var parent_1 = node.parent;
+ while (parent_1) {
+ // nb: do not open root element
+ if (parent_1.parent) {
+ doOpenNode(parent_1, false, null);
+ }
+ parent_1 = parent_1.parent;
+ }
+ doOpenNode(node, slide, on_finished);
+ this._saveState();
+ }
+ }
};
- };
-
- SaveStateHandler.prototype.setInitialState = function(state) {
- var must_load_on_demand;
- if (!state) {
- return false;
- } else {
- must_load_on_demand = this._openInitialNodes(state.open_nodes);
- this._selectInitialNodes(state.selected_node);
- return must_load_on_demand;
- }
- };
-
- SaveStateHandler.prototype._openInitialNodes = function(node_ids) {
- var i, len, must_load_on_demand, node, node_id;
- must_load_on_demand = false;
- for (i = 0, len = node_ids.length; i < len; i++) {
- node_id = node_ids[i];
- node = this.tree_widget.getNodeById(node_id);
- if (node) {
- if (!node.load_on_demand) {
- node.is_open = true;
- } else {
- must_load_on_demand = true;
+ /*
+ Redraw the tree or part of the tree.
+ from_node: redraw this subtree
+ */
+ JqTreeWidget.prototype._refreshElements = function (from_node) {
+ this.renderer.render(from_node);
+ this._triggerEvent("tree.refresh");
+ };
+ JqTreeWidget.prototype._getNodeElementForNode = function (node) {
+ if (node.isFolder()) {
+ return new node_element_1.FolderElement(node, this);
}
- }
- }
- return must_load_on_demand;
- };
-
- SaveStateHandler.prototype._selectInitialNodes = function(node_ids) {
- var i, len, node, node_id, select_count;
- select_count = 0;
- for (i = 0, len = node_ids.length; i < len; i++) {
- node_id = node_ids[i];
- node = this.tree_widget.getNodeById(node_id);
- if (node) {
- select_count += 1;
- this.tree_widget.select_node_handler.addToSelection(node);
- }
- }
- return select_count !== 0;
- };
-
- SaveStateHandler.prototype.setInitialStateOnDemand = function(state,
cb_finished) {
- if (state) {
- return this._setInitialStateOnDemand(state.open_nodes,
state.selected_node, cb_finished);
- } else {
- return cb_finished();
- }
- };
-
- SaveStateHandler.prototype._setInitialStateOnDemand = function(node_ids,
selected_nodes, cb_finished) {
- var loadAndOpenNode, loading_count, openNodes;
- loading_count = 0;
- openNodes = (function(_this) {
- return function() {
- var i, len, new_nodes_ids, node, node_id;
- new_nodes_ids = [];
- for (i = 0, len = node_ids.length; i < len; i++) {
- node_id = node_ids[i];
- node = _this.tree_widget.getNodeById(node_id);
- if (!node) {
- new_nodes_ids.push(node_id);
- } else {
- if (!node.is_loading) {
- if (node.load_on_demand) {
- loadAndOpenNode(node);
- } else {
- _this.tree_widget._openNode(node, false);
- }
+ else {
+ return new node_element_1.NodeElement(node, this);
+ }
+ };
+ JqTreeWidget.prototype._getNodeElement = function ($element) {
+ var node = this._getNode($element);
+ if (node) {
+ return this._getNodeElementForNode(node);
+ }
+ else {
+ return null;
+ }
+ };
+ JqTreeWidget.prototype._containsElement = function (element) {
+ var node = this._getNode($(element));
+ return node != null && node.tree === this.tree;
+ };
+ JqTreeWidget.prototype._init = function () {
+ _super.prototype._init.call(this);
+ this.element = this.$el;
+ this.mouse_delay = 300;
+ this.is_initialized = false;
+ this.options.rtl = this._getRtlOption();
+ if (!this.options.closedIcon) {
+ this.options.closedIcon = this._getDefaultClosedIcon();
+ }
+ this.renderer = new elements_renderer_1["default"](this);
+ if (save_state_handler_1["default"] != null) {
+ this.save_state_handler = new
save_state_handler_1["default"](this);
+ }
+ else {
+ this.options.saveState = false;
+ }
+ if (select_node_handler_1["default"] != null) {
+ this.select_node_handler = new
select_node_handler_1["default"](this);
+ }
+ if (drag_and_drop_handler_1.DragAndDropHandler != null) {
+ this.dnd_handler = new
drag_and_drop_handler_1.DragAndDropHandler(this);
+ }
+ else {
+ this.options.dragAndDrop = false;
+ }
+ if (scroll_handler_1["default"] != null) {
+ this.scroll_handler = new scroll_handler_1["default"](this);
+ }
+ if (key_handler_1["default"] != null &&
select_node_handler_1["default"] != null) {
+ this.key_handler = new key_handler_1["default"](this);
+ }
+ this._initData();
+ this.element.click($.proxy(this._click, this));
+ this.element.dblclick($.proxy(this._dblclick, this));
+ if (this.options.useContextMenu) {
+ this.element.on("contextmenu", $.proxy(this._contextmenu, this));
+ }
+ };
+ JqTreeWidget.prototype._deinit = function () {
+ this.element.empty();
+ this.element.off();
+ if (this.key_handler) {
+ this.key_handler.deinit();
+ }
+ this.tree = new node_1.Node({}, true);
+ _super.prototype._deinit.call(this);
+ };
+ JqTreeWidget.prototype._mouseCapture = function (position_info) {
+ if (this.options.dragAndDrop && this.dnd_handler) {
+ return this.dnd_handler.mouseCapture(position_info);
+ }
+ else {
+ return false;
+ }
+ };
+ JqTreeWidget.prototype._mouseStart = function (position_info) {
+ if (this.options.dragAndDrop && this.dnd_handler) {
+ return this.dnd_handler.mouseStart(position_info);
+ }
+ else {
+ return false;
+ }
+ };
+ JqTreeWidget.prototype._mouseDrag = function (position_info) {
+ if (this.options.dragAndDrop && this.dnd_handler) {
+ var result = this.dnd_handler.mouseDrag(position_info);
+ if (this.scroll_handler) {
+ this.scroll_handler.checkScrolling();
}
- }
+ return result;
}
- node_ids = new_nodes_ids;
- if (_this._selectInitialNodes(selected_nodes)) {
- _this.tree_widget._refreshElements();
+ else {
+ return false;
}
- if (loading_count === 0) {
- return cb_finished();
+ };
+ JqTreeWidget.prototype._mouseStop = function (position_info) {
+ if (this.options.dragAndDrop && this.dnd_handler) {
+ return this.dnd_handler.mouseStop(position_info);
}
- };
- })(this);
- loadAndOpenNode = (function(_this) {
- return function(node) {
- loading_count += 1;
- return _this.tree_widget._openNode(node, false, function() {
- loading_count -= 1;
- return openNodes();
- });
- };
- })(this);
- return openNodes();
- };
-
- SaveStateHandler.prototype.getCookieName = function() {
- if (typeof this.tree_widget.options.saveState === 'string') {
- return this.tree_widget.options.saveState;
- } else {
- return 'tree';
- }
- };
-
- SaveStateHandler.prototype.supportsLocalStorage = function() {
- var testSupport;
- testSupport = function() {
- var error, key;
- if (typeof localStorage === "undefined" || localStorage === null) {
- return false;
- } else {
- try {
- key = '_storage_test';
- sessionStorage.setItem(key, true);
- sessionStorage.removeItem(key);
- } catch (error1) {
- error = error1;
- return false;
+ else {
+ return false;
}
- return true;
- }
};
- if (this._supportsLocalStorage == null) {
- this._supportsLocalStorage = testSupport();
- }
- return this._supportsLocalStorage;
- };
-
- SaveStateHandler.prototype.getNodeIdToBeSelected = function() {
- var state;
- state = this.getStateFromStorage();
- if (state && state.selected_node) {
- return state.selected_node[0];
- } else {
- return null;
- }
- };
-
- return SaveStateHandler;
-
-})();
-
-module.exports = SaveStateHandler;
-
-},{"./util":12}],8:[function(require,module,exports){
-var $, ScrollHandler;
-
-$ = jQuery;
-
-ScrollHandler = (function() {
- function ScrollHandler(tree_widget) {
- this.tree_widget = tree_widget;
- this.previous_top = -1;
- this.is_initialized = false;
- }
-
- ScrollHandler.prototype._initScrollParent = function() {
- var $scroll_parent, getParentWithOverflow, setDocumentAsScrollParent;
- getParentWithOverflow = (function(_this) {
- return function() {
- var css_values, el, hasOverFlow, i, len, ref;
- css_values = ['overflow', 'overflow-y'];
- hasOverFlow = function(el) {
- var css_value, i, len, ref;
- for (i = 0, len = css_values.length; i < len; i++) {
- css_value = css_values[i];
- if ((ref = $.css(el, css_value)) === 'auto' || ref === 'scroll') {
- return true;
+ JqTreeWidget.prototype._initData = function () {
+ if (this.options.data) {
+ this._loadData(this.options.data, null);
+ }
+ else {
+ var data_url = this._getDataUrlInfo(null);
+ if (data_url) {
+ this._loadDataFromUrl(null, null, null);
}
- }
- return false;
+ else {
+ this._loadData([], null);
+ }
+ }
+ };
+ JqTreeWidget.prototype._getDataUrlInfo = function (node) {
+ var _this = this;
+ var data_url = this.options.dataUrl || this.element.data("url");
+ var getUrlFromString = function () {
+ var url_info = { url: data_url };
+ if (node && node.id) {
+ // Load on demand of a subtree; add node parameter
+ var data = { node: node.id };
+ // tslint:disable-next-line: no-string-literal
+ url_info["data"] = data;
+ }
+ else {
+ // Add selected_node parameter
+ var selected_node_id = _this._getNodeIdToBeSelected();
+ if (selected_node_id) {
+ var data = { selected_node: selected_node_id };
+ // tslint:disable-next-line: no-string-literal
+ url_info["data"] = data;
+ }
+ }
+ return url_info;
};
- if (hasOverFlow(_this.tree_widget.$el[0])) {
- return _this.tree_widget.$el;
+ if ($.isFunction(data_url)) {
+ return data_url(node);
}
- ref = _this.tree_widget.$el.parents();
- for (i = 0, len = ref.length; i < len; i++) {
- el = ref[i];
- if (hasOverFlow(el)) {
- return $(el);
- }
+ else if ($.type(data_url) === "string") {
+ return getUrlFromString();
}
+ else {
+ return data_url;
+ }
+ };
+ JqTreeWidget.prototype._getNodeIdToBeSelected = function () {
+ if (this.options.saveState && this.save_state_handler) {
+ return this.save_state_handler.getNodeIdToBeSelected();
+ }
+ else {
+ return null;
+ }
+ };
+ JqTreeWidget.prototype._initTree = function (data) {
+ var _this = this;
+ var doInit = function () {
+ if (!_this.is_initialized) {
+ _this.is_initialized = true;
+ _this._triggerEvent("tree.init");
+ }
+ };
+ this.tree = new this.options.nodeClass(null, true,
this.options.nodeClass);
+ if (this.select_node_handler) {
+ this.select_node_handler.clear();
+ }
+ this.tree.loadFromData(data);
+ var must_load_on_demand = this._setInitialState();
+ this._refreshElements(null);
+ if (!must_load_on_demand) {
+ doInit();
+ }
+ else {
+ // Load data on demand and then init the tree
+ this._setInitialStateOnDemand(doInit);
+ }
+ };
+ // Set initial state, either by restoring the state or auto-opening nodes
+ // result: must load nodes on demand?
+ JqTreeWidget.prototype._setInitialState = function () {
+ var _this = this;
+ var restoreState = function () {
+ // result: is state restored, must load on demand?
+ if (!(_this.options.saveState && _this.save_state_handler)) {
+ return [false, false];
+ }
+ else {
+ var state = _this.save_state_handler.getStateFromStorage();
+ if (!state) {
+ return [false, false];
+ }
+ else {
+ var must_load_on_demand_1 =
_this.save_state_handler.setInitialState(state);
+ // return true: the state is restored
+ return [true, must_load_on_demand_1];
+ }
+ }
+ };
+ var autoOpenNodes = function () {
+ // result: must load on demand?
+ if (_this.options.autoOpen === false) {
+ return false;
+ }
+ var max_level = _this._getAutoOpenMaxLevel();
+ var must_load_on_demand = false;
+ _this.tree.iterate(function (node, level) {
+ if (node.load_on_demand) {
+ must_load_on_demand = true;
+ return false;
+ }
+ else if (!node.hasChildren()) {
+ return false;
+ }
+ else {
+ node.is_open = true;
+ return (level !== max_level);
+ }
+ });
+ return must_load_on_demand;
+ };
+ // tslint:disable-next-line: prefer-const
+ var _a = restoreState(), is_restored = _a[0], must_load_on_demand =
_a[1];
+ if (!is_restored) {
+ must_load_on_demand = autoOpenNodes();
+ }
+ return must_load_on_demand;
+ };
+ // Set the initial state for nodes that are loaded on demand
+ // Call cb_finished when done
+ JqTreeWidget.prototype._setInitialStateOnDemand = function (cb_finished) {
+ var _this = this;
+ var restoreState = function () {
+ if (!(_this.options.saveState && _this.save_state_handler)) {
+ return false;
+ }
+ else {
+ var state = _this.save_state_handler.getStateFromStorage();
+ if (!state) {
+ return false;
+ }
+ else {
+ _this.save_state_handler.setInitialStateOnDemand(state,
cb_finished);
+ return true;
+ }
+ }
+ };
+ var autoOpenNodes = function () {
+ var max_level = _this._getAutoOpenMaxLevel();
+ var loading_count = 0;
+ var loadAndOpenNode = function (node) {
+ loading_count += 1;
+ _this._openNode(node, false, function () {
+ loading_count -= 1;
+ openNodes();
+ });
+ };
+ var openNodes = function () {
+ _this.tree.iterate(function (node, level) {
+ if (node.load_on_demand) {
+ if (!node.is_loading) {
+ loadAndOpenNode(node);
+ }
+ return false;
+ }
+ else {
+ _this._openNode(node, false, null);
+ return (level !== max_level);
+ }
+ });
+ if (loading_count === 0) {
+ cb_finished();
+ }
+ };
+ openNodes();
+ };
+ if (!restoreState()) {
+ autoOpenNodes();
+ }
+ };
+ JqTreeWidget.prototype._getAutoOpenMaxLevel = function () {
+ if (this.options.autoOpen === true) {
+ return -1;
+ }
+ else {
+ return parseInt(this.options.autoOpen, 10);
+ }
+ };
+ JqTreeWidget.prototype._click = function (e) {
+ var click_target = this._getClickTarget(e.target);
+ if (click_target) {
+ if (click_target.type === "button") {
+ this.toggle(click_target.node, this.options.slide);
+ e.preventDefault();
+ e.stopPropagation();
+ }
+ else if (click_target.type === "label") {
+ var node = click_target.node;
+ var event_1 = this._triggerEvent("tree.click", {
+ node: node,
+ click_event: e
+ });
+ if (!event_1.isDefaultPrevented()) {
+ this._selectNode(node, true);
+ }
+ }
+ }
+ };
+ JqTreeWidget.prototype._dblclick = function (e) {
+ var click_target = this._getClickTarget(e.target);
+ if (click_target && click_target.type === "label") {
+ this._triggerEvent("tree.dblclick", {
+ node: click_target.node,
+ click_event: e
+ });
+ }
+ };
+ JqTreeWidget.prototype._getClickTarget = function (element) {
+ var $target = $(element);
+ var $button = $target.closest(".jqtree-toggler");
+ if ($button.length) {
+ var node = this._getNode($button);
+ if (node) {
+ return {
+ type: "button",
+ node: node
+ };
+ }
+ }
+ else {
+ var $el = $target.closest(".jqtree-element");
+ if ($el.length) {
+ var node = this._getNode($el);
+ if (node) {
+ return {
+ type: "label",
+ node: node
+ };
+ }
+ }
+ }
return null;
- };
- })(this);
- setDocumentAsScrollParent = (function(_this) {
- return function() {
- _this.scroll_parent_top = 0;
- return _this.$scroll_parent = null;
- };
- })(this);
- if (this.tree_widget.$el.css('position') === 'fixed') {
- setDocumentAsScrollParent();
- }
- $scroll_parent = getParentWithOverflow();
- if ($scroll_parent && $scroll_parent.length && $scroll_parent[0].tagName
!== 'HTML') {
- this.$scroll_parent = $scroll_parent;
- this.scroll_parent_top = this.$scroll_parent.offset().top;
- } else {
- setDocumentAsScrollParent();
- }
- return this.is_initialized = true;
- };
-
- ScrollHandler.prototype._ensureInit = function() {
- if (!this.is_initialized) {
- return this._initScrollParent();
- }
- };
-
- ScrollHandler.prototype.checkScrolling = function() {
- var hovered_area;
- this._ensureInit();
- hovered_area = this.tree_widget.dnd_handler.hovered_area;
- if (hovered_area && hovered_area.top !== this.previous_top) {
- this.previous_top = hovered_area.top;
- if (this.$scroll_parent) {
- return this._handleScrollingWithScrollParent(hovered_area);
- } else {
- return this._handleScrollingWithDocument(hovered_area);
- }
- }
- };
-
- ScrollHandler.prototype._handleScrollingWithScrollParent = function(area) {
- var distance_bottom;
- distance_bottom = this.scroll_parent_top +
this.$scroll_parent[0].offsetHeight - area.bottom;
- if (distance_bottom < 20) {
- this.$scroll_parent[0].scrollTop += 20;
- this.tree_widget.refreshHitAreas();
- return this.previous_top = -1;
- } else if ((area.top - this.scroll_parent_top) < 20) {
- this.$scroll_parent[0].scrollTop -= 20;
- this.tree_widget.refreshHitAreas();
- return this.previous_top = -1;
- }
- };
-
- ScrollHandler.prototype._handleScrollingWithDocument = function(area) {
- var distance_top;
- distance_top = area.top - $(document).scrollTop();
- if (distance_top < 20) {
- return $(document).scrollTop($(document).scrollTop() - 20);
- } else if ($(window).height() - (area.bottom - $(document).scrollTop()) <
20) {
- return $(document).scrollTop($(document).scrollTop() + 20);
- }
- };
-
- ScrollHandler.prototype.scrollTo = function(top) {
- var tree_top;
- this._ensureInit();
- if (this.$scroll_parent) {
- return this.$scroll_parent[0].scrollTop = top;
- } else {
- tree_top = this.tree_widget.$el.offset().top;
- return $(document).scrollTop(top + tree_top);
- }
- };
-
- ScrollHandler.prototype.isScrolledIntoView = function(element) {
- var $element, element_bottom, element_top, view_bottom, view_top;
- this._ensureInit();
- $element = $(element);
- if (this.$scroll_parent) {
- view_top = 0;
- view_bottom = this.$scroll_parent.height();
- element_top = $element.offset().top - this.scroll_parent_top;
- element_bottom = element_top + $element.height();
- } else {
- view_top = $(window).scrollTop();
- view_bottom = view_top + $(window).height();
- element_top = $element.offset().top;
- element_bottom = element_top + $element.height();
- }
- return (element_bottom <= view_bottom) && (element_top >= view_top);
- };
-
- return ScrollHandler;
-
-})();
-
-module.exports = ScrollHandler;
-
-},{}],9:[function(require,module,exports){
-var $, SelectNodeHandler;
-
-$ = jQuery;
-
-SelectNodeHandler = (function() {
- function SelectNodeHandler(tree_widget) {
- this.tree_widget = tree_widget;
- this.clear();
- }
-
- SelectNodeHandler.prototype.getSelectedNode = function() {
- var selected_nodes;
- selected_nodes = this.getSelectedNodes();
- if (selected_nodes.length) {
- return selected_nodes[0];
- } else {
- return false;
- }
- };
-
- SelectNodeHandler.prototype.getSelectedNodes = function() {
- var id, node, selected_nodes;
- if (this.selected_single_node) {
- return [this.selected_single_node];
- } else {
- selected_nodes = [];
- for (id in this.selected_nodes) {
- node = this.tree_widget.getNodeById(id);
- if (node) {
- selected_nodes.push(node);
+ };
+ JqTreeWidget.prototype._getNode = function ($element) {
+ var $li = $element.closest("li.jqtree_common");
+ if ($li.length === 0) {
+ return null;
}
- }
- return selected_nodes;
- }
- };
-
- SelectNodeHandler.prototype.getSelectedNodesUnder = function(parent) {
- var id, node, selected_nodes;
- if (this.selected_single_node) {
- if (parent.isParentOf(this.selected_single_node)) {
- return [this.selected_single_node];
- } else {
- return [];
- }
- } else {
- selected_nodes = [];
- for (id in this.selected_nodes) {
- node = this.tree_widget.getNodeById(id);
- if (node && parent.isParentOf(node)) {
- selected_nodes.push(node);
+ else {
+ return $li.data("node");
}
- }
- return selected_nodes;
- }
- };
-
- SelectNodeHandler.prototype.isNodeSelected = function(node) {
- if (!node) {
- return false;
- } else if (node.id) {
- if (this.selected_nodes[node.id]) {
- return true;
- } else {
- return false;
- }
- } else if (this.selected_single_node) {
- return this.selected_single_node.element === node.element;
- } else {
- return false;
- }
- };
-
- SelectNodeHandler.prototype.clear = function() {
- this.selected_nodes = {};
- return this.selected_single_node = null;
- };
-
- SelectNodeHandler.prototype.removeFromSelection = function(node,
include_children) {
- if (include_children == null) {
- include_children = false;
- }
- if (!node.id) {
- if (this.selected_single_node && node.element ===
this.selected_single_node.element) {
- return this.selected_single_node = null;
- }
- } else {
- delete this.selected_nodes[node.id];
- if (include_children) {
- return node.iterate((function(_this) {
- return function(n) {
- delete _this.selected_nodes[node.id];
- return true;
- };
- })(this));
- }
- }
- };
-
- SelectNodeHandler.prototype.addToSelection = function(node) {
- if (node.id) {
- return this.selected_nodes[node.id] = true;
- } else {
- return this.selected_single_node = node;
- }
- };
-
- return SelectNodeHandler;
-
-})();
-
-module.exports = SelectNodeHandler;
-
-},{}],10:[function(require,module,exports){
-
-/*
-Copyright 2013 Marco Braak
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
- */
-var $, SimpleWidget,
- slice = [].slice;
-
-$ = jQuery;
-
-SimpleWidget = (function() {
- SimpleWidget.prototype.defaults = {};
-
- function SimpleWidget(el, options) {
- this.$el = $(el);
- this.options = $.extend({}, this.defaults, options);
- }
-
- SimpleWidget.prototype.destroy = function() {
- return this._deinit();
- };
-
- SimpleWidget.prototype._init = function() {
- return null;
- };
-
- SimpleWidget.prototype._deinit = function() {
- return null;
- };
-
- SimpleWidget.register = function(widget_class, widget_name) {
- var callFunction, createWidget, destroyWidget, getDataKey, getWidgetData;
- getDataKey = function() {
- return "simple_widget_" + widget_name;
};
- getWidgetData = function(el, data_key) {
- var widget;
- widget = $.data(el, data_key);
- if (widget && (widget instanceof SimpleWidget)) {
- return widget;
- } else {
+ JqTreeWidget.prototype._contextmenu = function (e) {
+ var $div = $(e.target).closest("ul.jqtree-tree .jqtree-element");
+ if ($div.length) {
+ var node = this._getNode($div);
+ if (node) {
+ e.preventDefault();
+ e.stopPropagation();
+ this._triggerEvent("tree.contextmenu", {
+ node: node,
+ click_event: e
+ });
+ return false;
+ }
+ }
return null;
- }
};
- createWidget = function($el, options) {
- var data_key, el, existing_widget, i, len, widget;
- data_key = getDataKey();
- for (i = 0, len = $el.length; i < len; i++) {
- el = $el[i];
- existing_widget = getWidgetData(el, data_key);
- if (!existing_widget) {
- widget = new widget_class(el, options);
- if (!$.data(el, data_key)) {
- $.data(el, data_key, widget);
- }
- widget._init();
+ JqTreeWidget.prototype._saveState = function () {
+ if (this.options.saveState && this.save_state_handler) {
+ this.save_state_handler.saveState();
}
- }
- return $el;
};
- destroyWidget = function($el) {
- var data_key, el, i, len, results, widget;
- data_key = getDataKey();
- results = [];
- for (i = 0, len = $el.length; i < len; i++) {
- el = $el[i];
- widget = getWidgetData(el, data_key);
- if (widget) {
- widget.destroy();
+ JqTreeWidget.prototype._selectCurrentNode = function () {
+ var node = this.getSelectedNode();
+ if (node) {
+ var node_element = this._getNodeElementForNode(node);
+ if (node_element) {
+ node_element.select();
+ }
}
- results.push($.removeData(el, data_key));
- }
- return results;
};
- callFunction = function($el, function_name, args) {
- var el, i, len, result, widget, widget_function;
- result = null;
- for (i = 0, len = $el.length; i < len; i++) {
- el = $el[i];
- widget = $.data(el, getDataKey());
- if (widget && (widget instanceof SimpleWidget)) {
- widget_function = widget[function_name];
- if (widget_function && (typeof widget_function === 'function')) {
- result = widget_function.apply(widget, args);
- }
+ JqTreeWidget.prototype._deselectCurrentNode = function () {
+ var node = this.getSelectedNode();
+ if (node) {
+ this.removeFromSelection(node);
}
- }
- return result;
};
- return $.fn[widget_name] = function() {
- var $el, args, argument1, function_name, options;
- argument1 = arguments[0], args = 2 <= arguments.length ?
slice.call(arguments, 1) : [];
- $el = this;
- if (argument1 === void 0 || typeof argument1 === 'object') {
- options = argument1;
- return createWidget($el, options);
- } else if (typeof argument1 === 'string' && argument1[0] !== '_') {
- function_name = argument1;
- if (function_name === 'destroy') {
- return destroyWidget($el);
- } else if (function_name === 'get_widget_class') {
- return widget_class;
- } else {
- return callFunction($el, function_name, args);
+ JqTreeWidget.prototype._getDefaultClosedIcon = function () {
+ if (this.options.rtl) {
+ // triangle to the left
+ return "◀";
}
- }
+ else {
+ // triangle to the right
+ return "►";
+ }
};
- };
-
- return SimpleWidget;
-
-})();
-
-module.exports = SimpleWidget;
-
-},{}],11:[function(require,module,exports){
-var $, BorderDropHint, DragAndDropHandler, DragElement, ElementsRenderer,
FolderElement, GhostDropHint, HitAreasGenerator, JqTreeWidget, KeyHandler,
MouseWidget, Node, NodeElement, Position, SaveStateHandler, ScrollHandler,
SelectNodeHandler, SimpleWidget, __version__, drag_and_drop_handler,
isFunction, node_module, ref, util_module,
- extend = function(child, parent) { for (var key in parent) { if
(hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() {
this.constructor = child; } ctor.prototype = parent.prototype; child.prototype
= new ctor(); child.__super__ = parent.prototype; return child; },
- hasProp = {}.hasOwnProperty;
-
-__version__ = require('./version');
-
-drag_and_drop_handler = require('./drag_and_drop_handler');
-
-ElementsRenderer = require('./elements_renderer');
-
-KeyHandler = require('./key_handler');
-
-MouseWidget = require('./mouse.widget');
-
-SaveStateHandler = require('./save_state_handler');
-
-ScrollHandler = require('./scroll_handler');
-
-SelectNodeHandler = require('./select_node_handler');
-
-SimpleWidget = require('./simple.widget');
-
-node_module = require('./node');
-
-Node = node_module.Node;
-
-Position = node_module.Position;
-
-util_module = require('./util');
-
-isFunction = util_module.isFunction;
-
-ref = require('./node_element'), BorderDropHint = ref.BorderDropHint,
FolderElement = ref.FolderElement, GhostDropHint = ref.GhostDropHint,
NodeElement = ref.NodeElement;
-
-DragAndDropHandler = drag_and_drop_handler.DragAndDropHandler, DragElement =
drag_and_drop_handler.DragElement, HitAreasGenerator =
drag_and_drop_handler.HitAreasGenerator;
-
-$ = jQuery;
-
-JqTreeWidget = (function(superClass) {
- extend(JqTreeWidget, superClass);
-
- function JqTreeWidget() {
- return JqTreeWidget.__super__.constructor.apply(this, arguments);
- }
-
- JqTreeWidget.prototype.BorderDropHint = BorderDropHint;
-
- JqTreeWidget.prototype.DragElement = DragElement;
-
- JqTreeWidget.prototype.DragAndDropHandler = DragAndDropHandler;
-
- JqTreeWidget.prototype.ElementsRenderer = ElementsRenderer;
-
- JqTreeWidget.prototype.GhostDropHint = GhostDropHint;
-
- JqTreeWidget.prototype.HitAreasGenerator = HitAreasGenerator;
-
- JqTreeWidget.prototype.Node = Node;
-
- JqTreeWidget.prototype.SaveStateHandler = SaveStateHandler;
-
- JqTreeWidget.prototype.ScrollHandler = ScrollHandler;
-
- JqTreeWidget.prototype.SelectNodeHandler = SelectNodeHandler;
-
- JqTreeWidget.prototype.defaults = {
+ JqTreeWidget.prototype._getRtlOption = function () {
+ if (this.options.rtl != null) {
+ return this.options.rtl;
+ }
+ else {
+ var data_rtl = this.element.data("rtl");
+ if (data_rtl != null && data_rtl !== false) {
+ return true;
+ }
+ else {
+ return false;
+ }
+ }
+ };
+ JqTreeWidget.prototype._notifyLoading = function (is_loading, node, $el) {
+ if (this.options.onLoading) {
+ this.options.onLoading(is_loading, node, $el);
+ }
+ };
+ JqTreeWidget.prototype._selectNode = function (node, must_toggle) {
+ var _this = this;
+ if (must_toggle === void 0) { must_toggle = false; }
+ if (!this.select_node_handler) {
+ return;
+ }
+ var canSelect = function () {
+ if (_this.options.onCanSelectNode) {
+ return _this.options.selectable &&
_this.options.onCanSelectNode(node);
+ }
+ else {
+ return _this.options.selectable;
+ }
+ };
+ var openParents = function () {
+ var parent = node.parent;
+ if (parent && parent.parent && !parent.is_open) {
+ _this.openNode(parent, false);
+ }
+ };
+ var saveState = function () {
+ if (_this.options.saveState && _this.save_state_handler) {
+ _this.save_state_handler.saveState();
+ }
+ };
+ if (!node) {
+ // Called with empty node -> deselect current node
+ this._deselectCurrentNode();
+ saveState();
+ return;
+ }
+ if (!canSelect()) {
+ return;
+ }
+ if (this.select_node_handler.isNodeSelected(node)) {
+ if (must_toggle) {
+ this._deselectCurrentNode();
+ this._triggerEvent("tree.select", {
+ node: null,
+ previous_node: node
+ });
+ }
+ }
+ else {
+ var deselected_node = this.getSelectedNode();
+ this._deselectCurrentNode();
+ this.addToSelection(node);
+ this._triggerEvent("tree.select", {
+ node: node,
+ deselected_node: deselected_node
+ });
+ openParents();
+ }
+ saveState();
+ };
+ JqTreeWidget.prototype._loadData = function (data, parent_node) {
+ if (!data) {
+ return;
+ }
+ else {
+ this._triggerEvent("tree.load_data", { tree_data: data });
+ if (parent_node) {
+ this._deselectNodes(parent_node);
+ this._loadSubtree(data, parent_node);
+ }
+ else {
+ this._initTree(data);
+ }
+ if (this.isDragging() && this.dnd_handler) {
+ this.dnd_handler.refresh();
+ }
+ }
+ };
+ JqTreeWidget.prototype._deselectNodes = function (parent_node) {
+ if (this.select_node_handler) {
+ var selected_nodes_under_parent =
this.select_node_handler.getSelectedNodesUnder(parent_node);
+ for (var _i = 0, selected_nodes_under_parent_1 =
selected_nodes_under_parent; _i < selected_nodes_under_parent_1.length; _i++) {
+ var n = selected_nodes_under_parent_1[_i];
+ this.select_node_handler.removeFromSelection(n);
+ }
+ }
+ };
+ JqTreeWidget.prototype._loadSubtree = function (data, parent_node) {
+ parent_node.loadFromData(data);
+ parent_node.load_on_demand = false;
+ parent_node.is_loading = false;
+ this._refreshElements(parent_node);
+ };
+ JqTreeWidget.prototype._loadDataFromUrl = function (url_info_param,
parent_node, on_finished) {
+ var _this = this;
+ var $el = null;
+ var url_info = url_info_param;
+ var addLoadingClass = function () {
+ $el = parent_node ? $(parent_node.element) : _this.element;
+ $el.addClass("jqtree-loading");
+ _this._notifyLoading(true, parent_node, $el);
+ };
+ var removeLoadingClass = function () {
+ if ($el) {
+ $el.removeClass("jqtree-loading");
+ _this._notifyLoading(false, parent_node, $el);
+ }
+ };
+ var parseUrlInfo = function () {
+ if ($.type(url_info) === "string") {
+ return { url: url_info };
+ }
+ if (!url_info.method) {
+ url_info.method = "get";
+ }
+ return url_info;
+ };
+ var handeLoadData = function (data) {
+ removeLoadingClass();
+ _this._loadData(data, parent_node);
+ if (on_finished && $.isFunction(on_finished)) {
+ on_finished();
+ }
+ };
+ var getDataFromResponse = function (response) { return
($.isArray(response) || typeof response === "object"
+ ? response
+ : response != null ? $.parseJSON(response) : []); };
+ var filterData = function (data) { return (_this.options.dataFilter ?
_this.options.dataFilter(data) : data); };
+ var handleSuccess = function (response) {
+ var data = filterData(getDataFromResponse(response));
+ handeLoadData(data);
+ };
+ var handleError = function (response) {
+ removeLoadingClass();
+ if (_this.options.onLoadFailed) {
+ _this.options.onLoadFailed(response);
+ }
+ };
+ var loadDataFromUrlInfo = function () {
+ var _url_info = parseUrlInfo();
+ $.ajax($.extend({}, _url_info, {
+ method: url_info.method != null ?
url_info.method.toUpperCase() : "GET",
+ cache: false,
+ dataType: "json",
+ success: handleSuccess,
+ error: handleError
+ }));
+ };
+ if (!url_info_param) {
+ // Generate url for node
@@ Diff output truncated at 153600 characters. @@
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Fmsystem-commits] [16910] Stable: Merge 16907:16909 from trunk,
sigurdne <=