Commit Graph

1402 Commits

Author SHA1 Message Date
nathangray
866cc19440 Api: Fix favorites widget TypeScript conversion bugs 2020-05-20 15:27:38 -06:00
nathangray
3626679408 Api: Find the current focused object from global instead of app object when handling key presses
Should better handle apps admin where the focused object could be from a different app
2020-05-20 10:31:32 -06:00
Ralf Becker
588cd10043 track top EGroupware window in egw object to be used as egw.top instead of window.top, which can throw a security exception 2020-05-18 20:55:57 +02:00
Hadi Nategh
5b8e02fded Add missing file from previous commit 2020-05-18 13:10:31 +02:00
Hadi Nategh
0d52104a68 Make radiobox widget exportable 2020-05-18 12:57:55 +02:00
nathangray
4cf185ce7e Avoid JS error by making sure we have a date format 2020-05-15 14:42:31 -06:00
nathangray
4ba7bac850 Add some convenience functions for faster widget access
These are only available on et2_container, so app.ts can use eg: this.et2.setWidgetById(...)

getDOMWidgetById(): Same as getWidgetById() it returns et2_DOMWidget instead of et2_widget
getValueWidgetById(): Same as getWidgetById(), but returns et2_valueWidget
getValueById(): Find a widget, get its value
setValueById(): Find a widget, set its value
setDisabledById(): Find a widget, set its disabled state.
2020-05-15 14:01:02 -06:00
nathangray
52eb5ca8e0 Don't bind context for app functions, they expect their own. 2020-05-15 11:15:30 -06:00
nathangray
242d435252 Fix a few remaining usages of free(), which was removed as part of the TypeScript conversion 2020-05-15 09:50:38 -06:00
nathangray
934d309856 Make taglist-state update its own options when country code changes
Fixes bug where options were not properly set if they had to be fetched from server.
2020-05-13 15:21:26 -06:00
Hadi Nategh
f23b5aee82 Fix readonly checkbox not working 2020-05-13 12:00:06 +02:00
Hadi Nategh
0748fba70f Add readonly value to readonly option 2020-05-13 11:56:49 +02:00
Hadi Nategh
1dc1d07dea Implements set_readonly for radiobox 2020-05-13 11:55:22 +02:00
Hadi Nategh
538d25333e Add missing js file from previous commit 2020-05-13 11:39:38 +02:00
Hadi Nategh
b101d2e509 Disable checkbox properly when it contains label 2020-05-13 11:08:42 +02:00
nathangray
66ee6576f1 * Api: Can now select no color with color widget 2020-05-11 14:58:36 -06:00
Ralf Becker
4dc120a6d2 making video position available and a couple of documentation updates 2020-05-10 14:53:06 +02:00
Hadi Nategh
cf8f421c4d Fix radio widget onchange not being called when value is getting set 2020-05-08 15:22:28 +02:00
Ralf Becker
1d6033fb4e allow to use image spec like "api/mime128_video" for poster like for regular images 2020-05-08 12:20:37 +02:00
Hadi Nategh
5e703ab669 Register video widget 2020-05-07 16:14:07 +02:00
Hadi Nategh
c6200f9969 Make video widget extendable 2020-05-06 14:53:02 +02:00
nathangray
da806d33f5 Api: Fix reference to et2_url EMAIL_PREG 2020-05-05 15:12:00 -06:00
nathangray
7f99b750b0 Fix missing appname in check
(see 444babdbc8)
2020-04-29 11:28:17 -06:00
Hadi Nategh
0431911dd1 Add missing js file from previous commit 2020-04-29 12:29:35 +02:00
Hadi Nategh
e9510598d7 Add allow option to iframe widget 2020-04-29 12:23:49 +02:00
nathangray
5a1f642ce2 Make sure there are no parameters before trying nice check for function name 2020-04-24 11:23:03 -06:00
nathangray
eaafd5eb1f Get legacy JS parser to understand functions that don't start with "app." and don't have brackets in the attribute.
This covers widget or other non-app static functions (eg: et2_avatar.uploadAvatar_onFinish)
2020-04-23 11:33:24 -06:00
nathangray
ec6a3881e3 Still need to clear before loading or dialogs get doubled 2020-04-22 14:53:11 -06:00
Hadi Nategh
eb795d523b Alway prefer custom onFinishOne callback if it is set 2020-04-22 14:19:12 +02:00
nathangray
444babdbc8 Api: Take care of private app.js instances, make sure they're included in iteration.
Iterate over all app.js instances (public & private) using:
for (var app_obj of window.EgwApp) {...}
2020-04-21 15:36:17 -06:00
Hadi Nategh
6e73a2bb66 Fix submit buttons get disabled after file upload 2020-04-21 18:30:25 +02:00
Hadi Nategh
4803e7fcd5 Fix lavatar not generating any image 2020-04-21 15:18:44 +02:00
Ralf Becker
9817d25a47 move who is available via push to push class and backends 2020-04-20 13:07:58 +02:00
nathangray
397fc8a620 Fix missing translation reported by Stefan Unverricht 2020-04-16 11:34:10 -06:00
nathangray
d6a747e36b Fix missing translation reported by Stefan Unverricht
How did you get missed?
2020-04-15 11:47:22 -06:00
nathangray
dbb3b2688e Fix missing translation reported by Stefan Unverricht 2020-04-15 11:21:53 -06:00
nathangray
017fa60870 Fix missing translation reported by Stefan Unverricht 2020-04-15 10:06:09 -06:00
nathangray
8f8c437712 Try to avoid error from missing nodes
I suspect this is from either TypeScript conversion or nm node optimization, but can't duplicate it regularly
2020-04-14 15:03:32 -06:00
nathangray
5b115ec7d5 Try to avoid some errors loading nm by checking before setting 2020-04-14 14:14:29 -06:00
nathangray
821c8474c5 Fix link from VFS dialog did not open 2020-04-14 14:13:36 -06:00
nathangray
eda34d67b3 Fix some typescript bugs
- Don't default dialog width so the automatic calculations run
- Setting etemplate_exec_id after load doesn't work, moved to passing it in.  Fixes several file select issues
2020-04-09 14:26:57 -06:00
nathangray
bac1ff5a1d Port b6020ad from asig2016 to master 2020-04-09 12:39:16 -06:00
Hadi Nategh
99a9513236 Fix positon option in et2_dialog widget 2020-04-07 14:51:46 +02:00
Hadi Nategh
be7d045e1d Add requireInteraction option into notification class 2020-04-06 17:24:48 +02:00
nathangray
abdffc12a0 Fix typescript conversion bug breaking mobile list view 2020-04-01 13:46:05 -04:00
nathangray
d24c6f2b7d Avoid error if extra parameter is not set 2020-03-31 10:21:26 -06:00
Ralf Becker
038c1c811c fix not closed spinner for application names with a dot 2020-03-31 13:03:31 +02:00
nathangray
b27387009d Fix toolbar actions with no group were missing 2020-03-30 14:25:24 -06:00
Ralf Becker
3750711cdf * OpenIdConnect/OAuth: manage access and display OAuth apps inside EGroupware 2020-03-30 21:03:19 +02:00
nathangray
c19502ce5b Fix nextmatch row expansion not properly displaying children 2020-03-30 12:28:48 -06:00
nathangray
cd530e6af0 Fix missing column headers after changing nm row template 2020-03-30 12:22:07 -06:00
nathangray
1da1cb7b99 Fix legacy options not being read for some widgets 2020-03-30 10:28:48 -06:00
nathangray
22f498d6e2 Try to fix navigation issues in file select popup 2020-03-25 13:48:04 -06:00
nathangray
7163acfe1d * Add action to share filemanager folder (readonly) with hidden upload folder 2020-03-24 20:34:04 -06:00
nathangray
3350f3a024 Some fixes for tile view after Typescript conversion 2020-03-23 10:05:46 -06:00
nathangray
34ec346821 Fix favourites (& probably some more inherited stuff) broken by TypeScript conversion
Note that any properties declared in a sub-class aren't generally available until after the super() call is done, i.e. in the super constructor they're undefined.
2020-03-20 11:38:38 -06:00
nathangray
c04915ae09 Etemplate: Fix nextmatch printing failed after TypeScript conversion 2020-03-18 10:36:14 -06:00
nathangray
83fd11f7c7 Fix bug in nm rowProvider preventing some re-ordered columns from getting their value 2020-03-17 10:32:45 -06:00
Hadi Nategh
b2c60f5667 Fix searchbox messed up DOMNode 2020-03-17 15:56:56 +01:00
nathangray
5af17679f3 Fix some missed free() calls 2020-03-16 14:27:57 -06:00
nathangray
298d0618e6 Etemplate: Add 3 minute nextmatch refresh option 2020-03-13 11:49:36 -06:00
nathangray
b8c6d52d29 Merge feature/improve_nm_performance changes in 2020-03-11 10:56:51 -06:00
Hadi Nategh
625c3eb73c Fix htmlarea being initiated twice 2020-03-11 14:54:47 +01:00
Hadi Nategh
d6c2a4aa0b Convert tracker app.js to TS 2020-03-09 16:12:49 +01:00
nathangray
aa87e60f10 Etemplate: Fix customfield widget bug "Cannot read property ... of undefined" 2020-03-05 15:37:42 -07:00
Hadi Nategh
a79280e78c Fix error egw_keymanager_js_1.egw_keyHandler is not a function 2020-03-05 14:53:50 +01:00
Hadi Nategh
0cc7ce12d0 merge master 2020-03-05 14:45:25 +01:00
Hadi Nategh
4ae4b4027b Remove extra semicolons 2020-03-05 13:25:52 +01:00
Ralf Becker
65294a3e19 fix error on window closing in Chrome 80+
caused by Chrome 80+ no longer allowing to send a synchronious ajax request from beforeunload handler, using sendBeacon (async request with keepalive=true) instead
2020-03-02 10:43:19 +01:00
Hadi Nategh
b47a0917d2 Add getController method to get access to nm controller object 2020-02-28 14:45:58 +01:00
Hadi Nategh
2cc2f198d4 Some fixes for egw_action and egw_global 2020-02-28 14:41:17 +01:00
nathangray
0f898acbb2 Fix action bugs where actions were not properly linking 2020-02-27 11:54:55 -07:00
nathangray
251f09d28b Fix taglist onchange & onclick handlers were not parsed into javascript 2020-02-27 11:51:43 -07:00
nathangray
bdc99ab30c Increase visibility of tooltipElem so children can access it too 2020-02-27 11:50:04 -07:00
nathangray
b03e8d167e Update some parameter types 2020-02-27 11:44:34 -07:00
Hadi Nategh
e48000d149 Convert vfsSelectUI to TS 2020-02-26 12:19:17 +01:00
nathangray
de426e1232 Some types & fixes 2020-02-25 09:05:32 -07:00
nathangray
49493a6af8 Convert etemplate2 to typescript 2020-02-24 15:16:40 -07:00
nathangray
f0392bc4e8 Add missing destroy() 2020-02-24 15:15:24 -07:00
Hadi Nategh
b7403af93f Fix expose class and its derived widgets 2020-02-20 17:46:53 +01:00
Hadi Nategh
8d85b50ded * Html Editor: Add fullscreen feature into html editor 2020-02-20 16:07:00 +01:00
Hadi Nategh
9a4f2d1e69 Convert expose to TS and apply it to all exposable widgets 2020-02-19 17:14:44 +01:00
Ralf Becker
2d5012d208 add extra_link_target attribute to r/w link-entry to allow opening link in new tab (for mserver) 2020-02-16 11:31:32 +01:00
Ralf Becker
5231240f52 add extra_link_target attribute to r/w link-entry to allow opening link in new tab (for mserver) 2020-02-16 11:08:28 +01:00
Hadi Nategh
9d71b21d0f Commit missing js part from et2_link 2020-02-14 10:07:35 +01:00
nathangray
9cb1abc3c0 Fix readonly bug, reduce DOM changes when setting format 2020-02-13 11:56:52 -07:00
Hadi Nategh
4ef29c0c1a Convert et2_core_xml to TS 2020-02-13 15:53:12 +01:00
Hadi Nategh
5d11d6f34b Convert et2_extension_itempicker_actions to TS 2020-02-13 15:45:23 +01:00
Hadi Nategh
c9abe89184 Convert et2_widget_ajaxSelect to TS 2020-02-13 15:39:10 +01:00
Hadi Nategh
fe038b7790 Fix some params in egw_action 2020-02-13 15:28:01 +01:00
Hadi Nategh
e6477f4b50 Convert et2_widget_portlet to TS 2020-02-13 15:27:27 +01:00
Hadi Nategh
effa2c52a3 Convert et2_widget_itempicker to TS 2020-02-13 11:08:12 +01:00
Hadi Nategh
0def94240f Fixes some errors in vfs widget 2020-02-13 10:39:13 +01:00
Hadi Nategh
e1d24055c2 Convert et2_widget_script to TS 2020-02-13 10:25:00 +01:00
nathangray
216ba980a9 Convert to typescript 2020-02-12 15:35:59 -07:00
nathangray
e5895e0cef Deal with some typescript warnings 2020-02-12 15:18:10 -07:00
nathangray
6857c42091 Convert dynheight to typescript 2020-02-12 14:49:22 -07:00
nathangray
ec83c3a181 Color widget 2020-02-12 14:17:33 -07:00
nathangray
5ab4d36830 Fix button onclick attribute was not parsed into javascript 2020-02-12 14:06:09 -07:00
nathangray
69261c3688 Convert style widget 2020-02-12 13:28:49 -07:00
nathangray
8525477b26 Avoid error if AJAX call returns after destruction 2020-02-12 13:21:05 -07:00
nathangray
1d4bcc2cab Add missing destroy() to avoid error when destroying 2020-02-12 13:19:52 -07:00
nathangray
fa95142954 Diff widget 2020-02-12 13:19:21 -07:00
nathangray
7a79bfad93 Make cf prefix a proper constant 2020-02-12 11:32:29 -07:00
nathangray
c3350c8114 Get nextmatch-customfields working 2020-02-12 11:16:34 -07:00
nathangray
fe4eb42fca Fix attributes referencing not-set content evaluated as true 2020-02-12 11:10:52 -07:00
Hadi Nategh
b576476a33 Some fixes for defined types 2020-02-12 11:42:31 +01:00
Hadi Nategh
85082b08f2 Add missing source map comment 2020-02-12 11:33:20 +01:00
Hadi Nategh
7f37ff4942 Some fixes for defined types 2020-02-12 11:29:47 +01:00
Hadi Nategh
c6f491df53 Convert et2_widget_tree to TS 2020-02-12 11:29:03 +01:00
Ralf Becker
20a3dd9fd0 use super.<name>(<arguments>) instead of super.<name>.apply(this, arguments) 2020-02-12 10:37:29 +01:00
nathangray
ee6ac04413 Get historylog widget working 2020-02-11 15:37:33 -07:00
nathangray
8abd587d0e Get customfield widget working 2020-02-11 15:20:01 -07:00
nathangray
77722eb0d5 Fix namespace check 2020-02-11 15:19:33 -07:00
nathangray
2ed6c162f2 Improve return value definition 2020-02-11 15:18:25 -07:00
nathangray
8eebea528d Code style improvements 2020-02-11 11:32:50 -07:00
Ralf Becker
5f804dd661 use super.<name>(<arguments>) instead of super.<name>.apply(this, arguments) 2020-02-11 17:40:33 +01:00
Hadi Nategh
13cc7f09cd Ad more missing font size to tinyMCE 2020-02-11 17:08:30 +01:00
Hadi Nategh
3f282c5416 Add more missing font size to tinyMCE 2020-02-11 17:05:19 +01:00
Hadi Nategh
38ebca1a24 * Html Editor: Add 9pt, 9px, 11pt and 11px into Html editor's font options 2020-02-11 16:58:55 +01:00
Hadi Nategh
f7e75af9a5 * Html Editor: Add 9pt, 9px, 11pt and 11px into Html editor's font options 2020-02-11 16:54:44 +01:00
nathangray
6c0102e7e7 Fix nextmatch column select dialog 2020-02-10 16:00:14 -07:00
nathangray
64844fc97d Fix selectAccount_ro did not display 2020-02-10 15:59:45 -07:00
nathangray
4ef2b0b401 - Fix doubled format string in readonly duration
- Fix format displayed when duration is 0
2020-02-10 15:32:31 -07:00
nathangray
b5af403238 Fix template namespace 2020-02-10 14:14:17 -07:00
nathangray
444f98fe34 Fix first repeating row had no widgets 2020-02-10 14:13:46 -07:00
nathangray
39590368bf Hopefully last attribute inheritance bug fix, solves a lot of the console warnings.
Just swapping the function parameter order, since we called the function from every constructor.
2020-02-10 11:41:40 -07:00
Hadi Nategh
81b12cf9ee Convert et2_widget_favorites to TS 2020-02-10 16:48:15 +01:00
Hadi Nategh
44ed664f7a Convert et2_widget_entry to TS 2020-02-10 15:29:27 +01:00
Hadi Nategh
b98ce00079 Convert et2_widget_taglist to TS 2020-02-10 15:17:09 +01:00
Hadi Nategh
e0ec34493b Convert et2_widget_progress to TS 2020-02-10 15:00:48 +01:00
Hadi Nategh
c19ea5a8ec Convert et2_widget_iframe to TS 2020-02-10 14:50:57 +01:00
Hadi Nategh
c7e7346584 Convert et2_widget_hrule to TS 2020-02-10 14:36:09 +01:00
Hadi Nategh
a1bf3f345b Convert et2_widget_groupbox to TS 2020-02-10 14:33:15 +01:00
Hadi Nategh
5dd310c254 Convert et2_widget_taglist to TS 2020-02-10 13:12:38 +01:00
Ralf Becker
d053a72a17 some fixes on the TS interface of client-side api and TS conversation tool 2020-02-10 10:02:04 +01:00
Ralf Becker
fc48878558 added (generated) TS declarations for egw_action 2020-02-10 10:00:35 +01:00
Ralf Becker
6ec5c7bab6 generated TS declaration for framwork objects 2020-02-10 10:00:12 +01:00
Ralf Becker
f15d047e9d generated TS declaration for framwork objects 2020-02-09 13:38:23 +01:00
Ralf Becker
362063e542 added (generated) TS declarations for egw_action 2020-02-09 13:09:11 +01:00
Ralf Becker
8dd03e3d07 some fixes on the TS interface of client-side api and TS conversation tool 2020-02-09 12:27:39 +01:00
Hadi Nategh
d88854b467 Convert et2_widget_file, et2_widget_vfs and fixes couple of definitions in other widgets 2020-02-07 17:41:51 +01:00
nathangray
4adff37f6f Fix missing / not set attributes 2020-02-07 09:31:10 -07:00
nathangray
0249c1604b Fix duration display format caused error 2020-02-07 09:30:43 -07:00
nathangray
d8345d2178 Fix bugs in attribute inheritance 2020-02-07 09:25:53 -07:00
Hadi Nategh
5e80a05cd1 Convert et2_widget_checkbox to TS 2020-02-07 10:52:45 +01:00
Hadi Nategh
1d69d52d32 Convert et2_widget_html to TS 2020-02-06 16:47:08 +01:00
Hadi Nategh
91119891cd Convert et2_widget_split to TS 2020-02-06 16:26:37 +01:00
Hadi Nategh
7d01281fa0 Convert et2_core_editableWidget and et2_widget_htmlarea to TS 2020-02-06 14:30:22 +01:00
Hadi Nategh
edf95a4bdf Convert et2_widget_url to TS 2020-02-06 12:10:57 +01:00
nathangray
06341552cf Get select account working 2020-02-05 15:30:24 -07:00
nathangray
f69ebe44bc Get link widget working 2020-02-05 15:27:24 -07:00
nathangray
8dc41fd07a Get nextmatch-entryheader working 2020-02-05 13:48:50 -07:00
Hadi Nategh
458137851d Add missing files from previous commit 2020-02-05 12:58:27 +01:00
Hadi Nategh
c280207de1 Convert et2_widget_image.js to TS and fixes types for show_dialog 2020-02-05 12:55:38 +01:00
nathangray
e0bc769315 - Fix attribute inheritance didn't work properly
- Get nextmatch filterheader working
2020-02-04 16:07:50 -07:00
Hadi Nategh
12eb1dec61 Fix TS type errors on widget number 2020-02-04 18:58:59 +01:00
Hadi Nategh
5617b6c33d Fix TS errors on dialog widget 2020-02-04 18:35:46 +01:00
Ralf Becker
025b2cc431 moving webserverUrl property to IegwGlobal interface from global egw object 2020-02-04 18:32:58 +01:00
Ralf Becker
8b2f04607e moving webserverUrl property to IegwGlobal interface from global egw object 2020-02-04 18:30:37 +01:00
Hadi Nategh
b45a74ac36 Merge branch 'master' into typescript 2020-02-04 16:45:24 +01:00
Hadi Nategh
491d17bc08 * Collabora: Fix issue of inserting an image into document pops a rename dialog 2020-02-04 13:27:55 +01:00
Ralf Becker
2fc0666762 merged master into typescript 2020-02-03 15:16:51 +00:00
Ralf Becker
e0f38dfb94 migrated infolog app.js to typescript 2020-02-03 16:05:40 +01:00
Ralf Becker
3575f06501 fix JS error from cropper, stalling eTemplate with minified JS 2020-02-02 10:32:12 +01:00
nathangray
3f8bd1b494 Get nextmatch rendering, sort of 2020-01-31 13:07:27 -07:00
nathangray
4eca12001a Mark some optional parameters 2020-01-31 09:25:11 -07:00
Hadi Nategh
65bca4c025 Fix missing parts from merge commit 2020-01-30 14:48:20 +01:00
Ralf Becker
1776215ada use interface to get autocompletion and types for client-side API 2020-01-30 08:40:11 +00:00
nathangray
49f3014037 Work on getting nextmatch loading 2020-01-29 16:05:01 -07:00
nathangray
926415795a Fix namespaces were not processed 2020-01-29 14:29:38 -07:00
nathangray
b6e87f0887 Fix namespaces were not processed 2020-01-29 14:29:06 -07:00
Hadi Nategh
ffae3f2e17 Remove all map files 2020-01-29 17:14:32 +01:00
Hadi Nategh
c8da07b460 Rebase onto Master 2020-01-29 15:31:57 +01:00
nathangray
6094cdd822 Get less errors for nextmatch 2020-01-29 15:12:44 +01:00
nathangray
95a06b3f10 Support legacyOptions 2020-01-29 15:12:44 +01:00
Hadi Nategh
addc4d8935 Convert et2_toolbar to TS 2020-01-29 15:12:44 +01:00
nathangray
0ba4d68baa Fix undefined error looking up cell content 2020-01-29 15:12:44 +01:00
nathangray
97337b6729 Get at least the nm header showing up 2020-01-29 15:12:44 +01:00
nathangray
28ad7abe97 Work on getting nextmatch going 2020-01-29 15:12:44 +01:00
nathangray
a9c4919c55 Fix compiled expressions could not be found 2020-01-29 15:12:44 +01:00
nathangray
0945d9e686 Temporary work around for legacyOptions issue 2020-01-29 15:12:44 +01:00
Hadi Nategh
9958c93c13 Check if the et2_hbox is attached before calling its child getDOMNode cause it's might not be set yet 2020-01-29 15:12:44 +01:00
Hadi Nategh
d889443e70 Convert et2_dropdown_button to TS 2020-01-29 15:12:44 +01:00
Hadi Nategh
c7b04a666c Convert et2_radiobox to TS 2020-01-29 15:12:44 +01:00
Hadi Nategh
00086e37b2 Convert et2_number to TS 2020-01-29 15:12:44 +01:00
nathangray
605a587bca Type parameter is optional 2020-01-29 15:12:44 +01:00
nathangray
43a9100c91 - Add some more parameter types
- Solve the uninitialized attribute issue (for insertChild() called from constructor at least)
2020-01-29 15:12:44 +01:00
Ralf Becker
0b50545cc1 missing generated .js and .map files, until we generate them via Grunt 2020-01-29 15:12:44 +01:00
Ralf Becker
ec7f8931b2 selectbox widget and some fixes 2020-01-29 15:12:44 +01:00
Ralf Becker
05b92c97f2 fix wrong class-name for attributes in constructor call 2020-01-29 15:12:44 +01:00
Hadi Nategh
313693a42c fix attributes in super call 2020-01-29 15:12:44 +01:00
nathangray
aaa4c3ae9e Fix some visibility issues, export the et2_action_object_impl 2020-01-29 15:12:44 +01:00
nathangray
50a0bb6157 Grid to TS 2020-01-29 15:12:44 +01:00
Ralf Becker
9e006797c9 date-widgets and friends for TS 2020-01-29 15:12:44 +01:00
Hadi Nategh
3b51264882 Convert et2_hbox to TS 2020-01-29 15:12:44 +01:00
Hadi Nategh
e1cd652183 Use destroy instead of free 2020-01-29 15:12:43 +01:00
Hadi Nategh
28e4e81478 Fix missing options in et2_dialog 2020-01-29 15:12:43 +01:00
nathangray
a5299abbf7 Use correct widget for attributes 2020-01-29 15:12:43 +01:00
nathangray
bd584dc991 Replace missing widgit registration 2020-01-29 15:12:43 +01:00
Hadi Nategh
fd31946f4e Fix error method generateAttributeSet does not exist 2020-01-29 15:12:43 +01:00
Hadi Nategh
1df5124246 Fix et2_dialog TS errors 2020-01-29 15:12:43 +01:00
nathangray
3cbecd5270 Return types for some functions 2020-01-29 15:12:43 +01:00
nathangray
1e39e5e654 arrayMgr to TypeScript 2020-01-29 15:12:43 +01:00
nathangray
46385aadc9 arrayMgr to TypeScript 2020-01-29 15:12:43 +01:00
nathangray
8b7be57067 Fix copy/paste error in constructors 2020-01-29 15:12:43 +01:00
nathangray
5e27866dc3 Fix copy/paste error in constructors 2020-01-29 15:12:43 +01:00
nathangray
812f6a0ef7 ts->js maps 2020-01-29 15:12:43 +01:00
nathangray
680a82cb4e Get et2 working in typescript 2020-01-29 15:11:00 +01:00
nathangray
805ac4591b Not sure where this one went 2020-01-29 15:11:00 +01:00
nathangray
9e33a168fc Getting etemplate2 sort of working 2020-01-29 15:11:00 +01:00
Hadi Nategh
5302ec5fa4 Convert et2_dialog widget to TS 2020-01-29 15:08:42 +01:00
Ralf Becker
7076f8fa3a tabbox widget 2020-01-29 15:08:42 +01:00
Ralf Becker
0205d72b53 description widget without expose 2020-01-29 15:08:42 +01:00
Hadi Nategh
fb94b13a89 Convert et2_video widget to TS 2020-01-29 15:08:42 +01:00
Ralf Becker
61a5505ec3 template widget with TS 2020-01-29 15:08:42 +01:00
Ralf Becker
e2c735ace9 textbox and button widget 2020-01-29 15:08:42 +01:00
nathangray
2377ec2090 Pass individual parameters 2020-01-29 15:08:42 +01:00
nathangray
7576742cbc TS for Box widget 2020-01-29 15:08:42 +01:00
nathangray
368f20ab5a Make labelContainer protected for subclasses 2020-01-29 15:08:42 +01:00
Ralf Becker
48ddfb1730 WIP on et2_widget_textbox 2020-01-29 15:08:42 +01:00
nathangray
3a21a5bc6b Second run at TS for valueWidget, restoring what was lost 2020-01-29 15:08:42 +01:00
nathangray
e0259fe6f2 First run at TS for valueWidget 2020-01-29 15:08:42 +01:00
nathangray
a90946a05d Some return types 2020-01-29 15:08:42 +01:00
Ralf Becker
f412b71225 inputWidget with TS 2020-01-29 15:08:42 +01:00
Ralf Becker
d9e2e26fcd some fixes for valueWidget 2020-01-29 15:08:42 +01:00
Ralf Becker
8b3f9947e6 baseWidget in TS 2020-01-29 15:08:42 +01:00
nathangray
988dbbc8da First run at TS for valueWidget 2020-01-29 15:08:42 +01:00
Ralf Becker
659c8b0e68 get et2_DOMWidget to TypeScript 2020-01-29 15:08:42 +01:00
Ralf Becker
f2b7ca4c32 move implements and instanceOf methods to inheritance 2020-01-29 15:08:42 +01:00
Ralf Becker
a4ce103d7e WIP with TypeScript 2020-01-29 15:08:42 +01:00
Ralf Becker
9f574b4a38 some egw object interface changes and using it in app.ts base object 2020-01-27 13:43:13 +01:00
Ralf Becker
5b5c2a6cff full TypeScript Interface for client-side API 2020-01-26 13:58:10 +01:00
nathangray
185ea88613 Get less errors for nextmatch 2020-01-24 06:43:08 -07:00
nathangray
7230ed138c Support legacyOptions 2020-01-24 06:41:37 -07:00
Hadi Nategh
d4afbf149f Convert et2_toolbar to TS 2020-01-24 14:08:09 +01:00
nathangray
d8fb0c8bee Fix undefined error looking up cell content 2020-01-24 05:58:15 -07:00
nathangray
7bd1f9f986 Get at least the nm header showing up 2020-01-24 05:57:05 -07:00
Ralf Becker
e9c4d3f07e complete push implementation for timesheet incl. ACL check 2020-01-24 13:31:56 +01:00
nathangray
22780e5629 Work on getting nextmatch going 2020-01-24 04:14:08 -07:00
nathangray
3b2f3e50de Fix compiled expressions could not be found 2020-01-24 02:27:01 -07:00
nathangray
71ea795a0a Temporary work around for legacyOptions issue 2020-01-24 02:12:14 -07:00
nathangray
76a5793a0a New push method, with base implementation of delete client side 2020-01-23 11:03:29 -07:00
nathangray
ff50df67d0 Use correct refresh methods for delete so app can handle it 2020-01-23 09:21:41 -07:00
Hadi Nategh
b1272bb204 Check if the et2_hbox is attached before calling its child getDOMNode cause it's might not be set yet 2020-01-23 16:33:32 +01:00
Hadi Nategh
b0bcadf3fa Convert et2_dropdown_button to TS 2020-01-23 16:24:53 +01:00
Hadi Nategh
5d2600ddbd Convert et2_radiobox to TS 2020-01-23 15:14:46 +01:00
Hadi Nategh
5e81f94aec Convert et2_number to TS 2020-01-23 14:25:02 +01:00
Ralf Becker
6e0936bd98 first take on pushing app-changes to all clients 2020-01-23 11:26:44 +01:00
nathangray
24d5b06ebb Type parameter is optional 2020-01-23 03:17:33 -07:00
nathangray
d14f94aaa7 - Add some more parameter types
- Solve the uninitialized attribute issue (for insertChild() called from constructor at least)
2020-01-23 03:17:33 -07:00
Ralf Becker
901825bcfa first try with TypeScript: timesheet app.js incl. new egw_app base-class 2020-01-23 09:14:58 +01:00
Ralf Becker
0f0112a3ad missing generated .js and .map files, until we generate them via Grunt 2020-01-23 08:53:13 +01:00
Ralf Becker
b3698df3f7 selectbox widget and some fixes 2020-01-22 20:12:55 +01:00
Ralf Becker
5d786a6a36 fix wrong class-name for attributes in constructor call 2020-01-22 18:38:51 +01:00
Hadi Nategh
abb25821a8 fix attributes in super call 2020-01-22 18:24:34 +01:00
nathangray
7f4db7949f Fix some visibility issues, export the et2_action_object_impl 2020-01-22 10:16:39 -07:00
nathangray
504c11b87f Grid to TS 2020-01-22 10:13:10 -07:00
Ralf Becker
9fa82c7173 date-widgets and friends for TS 2020-01-22 17:59:10 +01:00
Hadi Nategh
e1c4613a4d Convert et2_hbox to TS 2020-01-22 17:15:43 +01:00
Hadi Nategh
df9e708b55 Use destroy instead of free 2020-01-22 16:21:29 +01:00
Hadi Nategh
11b661c726 Fix missing options in et2_dialog 2020-01-22 16:08:46 +01:00
nathangray
202faf54ec Use correct widget for attributes 2020-01-22 07:57:46 -07:00
nathangray
a845237b79 Replace missing widgit registration 2020-01-22 07:56:12 -07:00
Hadi Nategh
b4113f92d4 Fix error method generateAttributeSet does not exist 2020-01-22 11:50:58 +01:00
Hadi Nategh
1ef0353728 Fix et2_dialog TS errors 2020-01-22 11:46:45 +01:00
nathangray
da9072f769 Return types for some functions 2020-01-22 03:42:41 -07:00
nathangray
9e458c8968 arrayMgr to TypeScript 2020-01-22 03:42:08 -07:00
nathangray
e0c32a1899 arrayMgr to TypeScript 2020-01-22 03:40:55 -07:00
nathangray
3cd1bd134b Fix copy/paste error in constructors 2020-01-22 02:23:43 -07:00
nathangray
5693ca42e8 Fix copy/paste error in constructors 2020-01-22 02:23:24 -07:00
nathangray
b1c094ca47 ts->js maps 2020-01-22 02:04:45 -07:00
nathangray
1ef562c1bd Get et2 working in typescript 2020-01-22 01:58:43 -07:00
nathangray
e01ab12ee3 Not sure where this one went 2020-01-21 11:50:14 -07:00
nathangray
bdc0c16212 Merge branch 'typescript' of github.com:EGroupware/egroupware into typescript 2020-01-21 11:48:07 -07:00
nathangray
5c5d1dd39d Getting etemplate2 sort of working 2020-01-21 11:45:21 -07:00
Hadi Nategh
b251396fba Convert et2_dialog widget to TS 2020-01-21 19:23:26 +01:00
Ralf Becker
703b6a3cf8 tabbox widget 2020-01-21 17:51:59 +01:00
Ralf Becker
8e38bf8958 description widget without expose 2020-01-21 17:09:08 +01:00
Hadi Nategh
6758895ae2 Convert et2_video widget to TS 2020-01-21 16:14:45 +01:00
Ralf Becker
af6afdcffe template widget with TS 2020-01-21 16:11:08 +01:00
Ralf Becker
5c6f73a26e textbox and button widget 2020-01-21 15:54:37 +01:00
nathangray
487cebc56d Pass individual parameters 2020-01-21 07:43:04 -07:00
nathangray
f7bdd798d4 TS for Box widget 2020-01-21 07:36:45 -07:00
nathangray
13313cae6c Make labelContainer protected for subclasses 2020-01-21 07:19:39 -07:00
Ralf Becker
96a9ab7211 WIP on et2_widget_textbox 2020-01-21 15:12:45 +01:00
nathangray
9f4cd98787 Second run at TS for valueWidget, restoring what was lost 2020-01-21 07:06:34 -07:00
nathangray
29809e2395 First run at TS for valueWidget 2020-01-21 07:01:43 -07:00
nathangray
af1e62b178 Some return types 2020-01-21 06:55:07 -07:00
Ralf Becker
87270d97ed inputWidget with TS 2020-01-21 14:18:15 +01:00
Ralf Becker
372d439087 some fixes for valueWidget 2020-01-21 12:48:48 +01:00
Ralf Becker
630797f127 baseWidget in TS 2020-01-21 12:22:41 +01:00
nathangray
a28dffd5cc First run at TS for valueWidget 2020-01-21 04:15:46 -07:00
Ralf Becker
e8d6f41e05 get et2_DOMWidget to TypeScript 2020-01-21 11:47:49 +01:00
Ralf Becker
7141ac3fd6 move implements and instanceOf methods to inheritance 2020-01-21 10:36:02 +01:00
Ralf Becker
68f9d4c0cf WIP with TypeScript 2020-01-21 10:12:39 +01:00
Ralf Becker
8d5893d515 a couple of small fixes from the conversation to TypeScript 2020-01-15 08:52:49 +01:00
Ralf Becker
55ae9c1c7b first try with TypeScript: timesheet app.js incl. new egw_app base-class 2020-01-15 08:47:33 +01:00
nathangray
3258121a15 Api: Fix some nextmatch bugs
- default columns were not properly used if there was no user preference found
- negated column preference caused problems with column order
- missing data for sorting if no column preference set yet
2020-01-07 14:37:22 -07:00
Hadi Nategh
f5ed503502 Attach relative icons with buttons used in col-selector dialog 2020-01-06 16:07:23 +01:00
Hadi Nategh
4619d55045 * File selector: implement Overwrite and Rename possibilities for saving an existing email message or attachment 2019-12-18 16:31:54 +01:00
Ralf Becker
7b30bb7b0d * Admin: optional session-action column in access-log and sessions
also no longer update access-log in session-class destructor, as it fails with skipping permanent logging for WebDAV and others
2019-12-14 13:09:22 +02:00
Hadi Nategh
4276ebbe5f * Mobile theme: fix mobile theme sidebar not showing notifications 2019-12-10 14:18:05 +01:00
Hadi Nategh
9902308540 * Html Editor: Add a custom paragraph into block formating in order to get paragraph lines with no line-height 2019-12-05 16:04:40 +01:00
nathangray
673327da1e Revert "Api: Nextmatch - Do not generate DOM nodes for hidden columns"
This reverts commit 0f3a1660ff.
2019-12-04 09:49:21 -07:00
Hadi Nategh
6e43453714 Introduce Progressive Web App feature to EGroupware 2019-12-04 15:00:59 +01:00
Hadi Nategh
36913e0627 Fix htmlarea issue with prefs rte_toolbar values 2019-11-28 17:54:01 +01:00
nathangray
0f3a1660ff Api: Nextmatch - Do not generate DOM nodes for hidden columns 2019-11-26 11:59:37 -07:00
Hadi Nategh
f3b11295b0 Update tinymce translation files, thanks to Stefan Unverricht 2019-11-26 13:12:18 +01:00
Hadi Nategh
3c374f7803 Fix scrolling a sorting item breaks the sorting in colSelector dialog 2019-11-25 13:37:24 +01:00
Hadi Nategh
3714cbbdf2 Set a max-height to column-selector list 2019-11-20 12:37:58 +01:00
Ralf Becker
71baa8654c fix wired CSP error after some 404 in html content 2019-11-14 15:19:58 +01:00
Hadi Nategh
edd8be4355 * All apps favorites: fix issue add favorites popup dialog no longer works after add/remove columns from list 2019-11-13 11:50:30 +01:00
Hadi Nategh
7527dfb300 Add specific class for toggle_readonly mode 2019-11-11 14:09:35 +01:00
Hadi Nategh
fb20fe69dd WIP nextmatch column sorting UI:
- Give the dialog a new look
2019-11-06 16:07:48 +01:00
Hadi Nategh
2f5fa5def3 WIP nextmatch column sorting UI:
- Apply user preference after sorting saved
2019-11-06 15:12:14 +01:00
Hadi Nategh
68f7e84fa3 WIP nextmatch column sorting UI 2019-11-05 16:22:49 +01:00
Hadi Nategh
16e09a1093 Set value_class option for multi-select list 2019-11-05 11:28:34 +01:00
Ralf Becker
bf844b7598 support for new Swoole push server 2019-11-04 09:29:49 +01:00
Ralf Becker
5c8a19ba26 correctly encode success message 2019-11-01 11:40:44 +01:00
Hadi Nategh
3b4e2e43c6 Set style tag in htmlarea widget as valid by default 2019-10-29 13:36:51 +01:00
Ralf Becker
67c9f137d2 treat "0" as false as does php, our database storage and et2_checkType() 2019-10-25 18:25:35 +02:00
Hadi Nategh
e0fdcaa959 Call on logout event when any sort of logout happens 2019-10-18 14:17:27 +02:00
nathangray
87501bb2a9 * Api: Fix bug where some links opened in the application's main tab instead of popups
Now keeping addressbook & projectmanager opening in main tab
2019-10-17 15:05:55 -06:00
nathangray
00d995b4b5 Revert "* Api: Fix bug where some links opened in the application's main tab instead of popups"
It did not take into account all apps (projectmanager & addressbook should open in main tab)

This reverts commit 474796c9bb.
2019-10-17 15:03:47 -06:00
nathangray
46ec335c42 Add attribute to turn off double click to edit editable widget 2019-10-17 10:36:21 -06:00
Hadi Nategh
30f8a19881 Fix some translations for tinymce editor 2019-10-17 12:54:35 +02:00
Hadi Nategh
85496dddb3 Fix search query for vfsSelect search box 2019-10-16 13:10:25 +02:00
Hadi Nategh
10632f886d Call client-side logout hooks when the logout button is triggered 2019-10-16 12:46:44 +02:00
nathangray
474796c9bb * Api: Fix bug where some links opened in the application's main tab instead of popups 2019-10-15 13:43:21 -06:00
Hadi Nategh
5a1fbe7049 Use letter avatar when user have no personal avatar is set in addressbook 2019-10-15 14:06:33 +02:00
Hadi Nategh
fc1e0679fb Fix htmlarea "enable features in toolbar" preference not working 2019-10-14 14:57:45 +02:00
Hadi Nategh
0303adbc35 Implement letter avatar in client-side as avatar widget's component 2019-10-14 13:42:07 +02:00
Hadi Nategh
74100f53ae Add format block as preference for pre-selecting block on editor initialization 2019-10-09 16:22:23 +02:00
nathangray
c51108b71b Fix singe fields attribute (as string) did not work 2019-10-07 14:14:39 -06:00
nathangray
3f483478cd Different Download as ZIP url, some had errors with the previous
#37061
2019-10-04 10:24:29 -06:00
Hadi Nategh
798823ab6e Make sure excluded mime types are type of string before splitting them, avoid js error "Uncaught typeError: ex_mime.split is not a function" 2019-10-02 13:52:48 +02:00
Hadi Nategh
7914168502 Remove drag enter/leave counter as it will break dragover class in FF 2019-10-01 16:53:09 +02:00
Hadi Nategh
a69d24ee66 * Api: Enable d-n-d into HtmlArea 2019-09-30 17:22:18 +02:00
nathangray
efc29d0631 Etemplate: Reduce some sizing issues in historylog 2019-09-25 09:20:38 -06:00
nathangray
6ce32d3e85 Etemplate: Better calculation for all fixed width columns to properly fit given width
This one avoids potential overflow due to rounding
2019-09-25 09:20:38 -06:00
Hadi Nategh
9b4f6a8349 Improve toolbar admin sections 2019-09-25 11:17:55 +02:00
Hadi Nategh
ff9b3c1c03 * UiUx: Implement applications list up/down scroll buttons (as an user preference feature) 2019-09-24 11:41:18 +02:00
nathangray
d602ec6677 Etemplate: More robust checking in get_tab_info() to handle tab template not fully loaded yet 2019-09-23 16:33:20 -06:00
nathangray
5b545e24ec Etemplate: Fix sizing and layout for diffs when they're part of a multipart entry 2019-09-19 11:30:34 -06:00
nathangray
62299b8a15 Etemplate: historylog - get diff to work as part of multi-part entries 2019-09-17 15:19:55 -06:00
nathangray
0e8b0e0562 Etemplate: Fix unable to clear color picker 2019-09-17 09:11:29 -06:00
nathangray
ca76e377cd Etemplate - avoid JS errors if unloading a nextmatch that didn't get properly initialized.
This can happen if the nm is set disabled via server-side modification
2019-09-16 09:46:57 -06:00
nathangray
2f1dfcc3d8 Calendar - Fix another case of group events not showing properly 2019-09-11 13:29:07 -06:00
nathangray
a6a3cb9a0f Etemplate - make sure dialog is wide enough if there is no title 2019-09-10 09:51:35 -06:00
Hadi Nategh
8506bf5e5f * Mail: fix drag-n-drop files from desktop no longer works on htmlarea as expected 2019-08-28 16:16:36 +02:00
Hadi Nategh
5877f3d0f1 Fix dragover class flickering issue 2019-08-28 16:14:53 +02:00
Hadi Nategh
12f3e9defd Remove not used files 2019-08-28 14:10:35 +02:00
Hadi Nategh
50bcfa593b Update resumable js library 2019-08-28 14:09:05 +02:00
nathangray
b064760e0f Etemplate - Make sure dialog is wide enough for the title 2019-08-27 14:09:13 -06:00
nathangray
c07a0509ce Fix missing translations reported by Stefan Unverricht 2019-08-27 12:04:06 -06:00
Hadi Nategh
74d6322414 Fix modify mail subject action's title 2019-08-26 17:01:37 +02:00
nathangray
a49e3a3c15 Api - Add a Share filemanager directory context menu action 2019-08-22 15:18:40 -06:00
nathangray
3e8f2274f2 Etemplate - make editableWidget a submitListener, so if someone submits while editing, the edit is still saved. 2019-08-22 14:22:31 -06:00
Hadi Nategh
0564e61c50 * Mail: add format selector into compose htmltext editor's toolbar 2019-08-20 15:55:53 +02:00
Hadi Nategh
768eb99113 Fix last visible tab wrongly set to closable 2019-08-20 14:01:09 +02:00
Hadi Nategh
70fd9a6529 Set correct appname when updating actions 2019-08-14 15:49:36 +02:00
Hadi Nategh
ae3db1bc28 * Mobile theme: fix broken html editor in mobile view (e.g. mail compose) 2019-08-14 10:05:28 +02:00
nathangray
be6325a68c Etemplate - fully implement label widget's "for" attribute 2019-08-13 13:28:56 -06:00
Ralf Becker
97953fab45 adding Github and Discoure (forum) to login page 2019-08-09 16:59:28 +02:00
Hadi Nategh
11d4aaf7c1 Some UI/UX improvements:
- Fix tabs headers alignment and resize
- Implement a loading page to obscure actual DOM rendering from user's view
2019-08-06 10:00:53 +02:00
Hadi Nategh
a7bfd5c871 Apply editable_height independent of the height attribute 2019-08-02 10:21:38 +02:00
nathangray
ed01dfad0a Fix partial HTML broke label in context menu Copy "..." action 2019-07-31 11:21:36 -06:00
nathangray
890cd4e4a4 Api - give error if share path is missing 2019-07-31 10:31:13 -06:00
Hadi Nategh
33aa092453 Add descriptive tooltip for avatar status 2019-07-31 11:45:39 +02:00
Hadi Nategh
824537068d Fix icon for select-file dialog 2019-07-30 15:57:19 +02:00
Hadi Nategh
a68f9f54b7 Fix search method in vfsSelect dialog 2019-07-30 12:26:26 +02:00
Hadi Nategh
16ec15573c Fix avatar edit dialog 2019-07-29 15:28:50 +02:00
Hadi Nategh
da0175a44c Add height attribute 2019-07-29 15:28:05 +02:00
nathangray
be2e632a9d Api - Don't print the show/hide sidemenu button 2019-07-26 13:44:31 -06:00
nathangray
2194808244 Etemplate - fix bug where context menu actions only worked the first time 2019-07-26 10:25:28 -06:00
Hadi Nategh
c8151c6f30 WIP search in vfsSelect dialog:
Implement search query for file lists
2019-07-26 17:26:53 +02:00
Hadi Nategh
d5b8242b19 Merge branch 'changable_column_order' 2019-07-22 11:55:15 +02:00
nathangray
4d858234ab Etemplate - color widget - use white as an empty value instead of showing black 2019-07-19 11:27:53 -06:00
nathangray
feedce26c3 Etemplate - remove jPicker, now using browser's color picker for color widget 2019-07-18 16:16:43 -06:00
nathangray
0731731e27 Admin - fix missing/incorrect filter options in user export definition 2019-07-10 15:50:31 -06:00
nathangray
daffc427f9 Another attempt to solve the tracker comment height issue 2019-06-19 11:08:05 -06:00
nathangray
5fce8985b8 Missing translations from Stefan Unverricht 2019-06-18 11:43:37 -06:00
nathangray
cdcf2b1494 Change clickable VFS path to trigger normal change function instead of directly opening.
Fixes loading full UI when clicking path in a share.
2019-06-17 11:18:47 -06:00
nathangray
c2f7e2ab97 Try to fix tracker comments with not enough height 2019-06-05 10:48:38 -06:00
nathangray
f5b1b68e20 Fix missing translation on combined column titles 2019-06-05 09:15:40 -06:00
Hadi Nategh
797d396a4a Make sure we can submit before setting the loading prompt 2019-06-05 15:47:12 +02:00
Ralf Becker
ea2e9775ea support for data: urls 2019-06-05 14:43:57 +02:00
Hadi Nategh
016cfc79ef Revert reset width on sidebar active header 2019-06-03 15:27:24 +02:00
Hadi Nategh
f424b1cdb6 WIP new framework style:
- Fix tab's close buttons jump while hovering
- Add search menu into info menu
- Add notifications as info menu and style it nicely
- Toggle avatar top menu by clicking away on body
- Fix notifications popup message alignment
2019-05-27 17:12:40 +02:00
nathangray
0041c248ad Fix historylog multi-part widgets where child widgets have options 2019-05-24 11:45:43 -06:00
Hadi Nategh
b1f4b2cb5d WIP framework new style 2019-05-24 16:11:37 +02:00
nathangray
e62e27b179 Fix some missing translations found by Stefan Unverricht 2019-05-23 11:25:06 -06:00
nathangray
edfd5fd24d Etemplate - also submit action data 2019-05-14 16:43:15 -06:00
nathangray
07773ded32 Etemplate - add ability to toggle row selection with spacebar 2019-05-14 10:33:59 -06:00
nathangray
9daa2fe8b6 Etemplate - add new attributes to URL widget
allow_path: Allow a path instead of a URL, must start with /
	trailing_slash: Require or forbid that the URL ends with /
2019-05-10 14:53:00 -06:00
nathangray
b8a03cb6f1 Fix error if a parent key gets set as null 2019-05-03 16:09:50 -06:00
nathangray
a1419530cc Make sure we don't error when readonly 2019-05-02 10:28:29 -06:00
nathangray
b5762a6337 Unify timestamper formatting 2019-05-02 10:17:32 -06:00
nathangray
383b602c67 Etemplate - even better formatting for display of linked files in sub-directories
Now looks good for multiple files in the same sub-dir, not just one file per sub-dir
2019-04-25 11:57:42 -06:00