@iamproperty/components 3.9.0-beta-1 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/assets/css/components/actionbar-global.css +1 -1
  2. package/assets/css/components/actionbar-global.css.map +1 -1
  3. package/assets/css/components/actionbar.css +1 -1
  4. package/assets/css/components/actionbar.css.map +1 -1
  5. package/assets/css/components/admin-panel.css +1 -1
  6. package/assets/css/components/admin-panel.css.map +1 -1
  7. package/assets/css/components/card-global.css +1 -1
  8. package/assets/css/components/card-global.css.map +1 -1
  9. package/assets/css/components/card.css +1 -1
  10. package/assets/css/components/card.css.map +1 -1
  11. package/assets/css/components/charts.css.map +1 -1
  12. package/assets/css/components/collapsible-side.css +1 -0
  13. package/assets/css/components/collapsible-side.css.map +1 -0
  14. package/assets/css/components/dialog.css +1 -1
  15. package/assets/css/components/dialog.css.map +1 -1
  16. package/assets/css/components/fileupload.css.map +1 -1
  17. package/assets/css/components/forms.css +1 -1
  18. package/assets/css/components/forms.css.map +1 -1
  19. package/assets/css/components/header.css.map +1 -1
  20. package/assets/css/components/lists.css.map +1 -1
  21. package/assets/css/components/nav-global.css +1 -1
  22. package/assets/css/components/nav-global.css.map +1 -1
  23. package/assets/css/components/nav.css.map +1 -1
  24. package/assets/css/components/nav.old.css.map +1 -1
  25. package/assets/css/components/notification.css.map +1 -1
  26. package/assets/css/components/pagination.css.map +1 -1
  27. package/assets/css/components/property-searchbar.css.map +1 -1
  28. package/assets/css/components/table.css +1 -1
  29. package/assets/css/components/table.css.map +1 -1
  30. package/assets/css/core.min.css +1 -1
  31. package/assets/css/core.min.css.map +1 -1
  32. package/assets/css/style.min.css +1 -1
  33. package/assets/css/style.min.css.map +1 -1
  34. package/assets/js/components/accordion/accordion.component.min.js +2 -2
  35. package/assets/js/components/actionbar/actionbar.component.js +45 -0
  36. package/assets/js/components/actionbar/actionbar.component.min.js +4 -4
  37. package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
  38. package/assets/js/components/applied-filters/applied-filters.component.min.js +3 -3
  39. package/assets/js/components/applied-filters/applied-filters.component.min.js.map +1 -1
  40. package/assets/js/components/card/card.component.js +9 -1
  41. package/assets/js/components/card/card.component.min.js +7 -5
  42. package/assets/js/components/card/card.component.min.js.map +1 -1
  43. package/assets/js/components/collapsible-side/collapsible-side.component.js +96 -0
  44. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +27 -0
  45. package/assets/js/components/collapsible-side/collapsible-side.component.min.js.map +1 -0
  46. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  47. package/assets/js/components/header/header.component.min.js +1 -1
  48. package/assets/js/components/nav/nav.component.min.js +1 -1
  49. package/assets/js/components/notification/notification.component.min.js +1 -1
  50. package/assets/js/components/pagination/pagination.component.min.js +1 -1
  51. package/assets/js/components/table/table.component.js +3 -0
  52. package/assets/js/components/table/table.component.min.js +10 -10
  53. package/assets/js/components/table/table.component.min.js.map +1 -1
  54. package/assets/js/components/tabs/tabs.component.min.js +1 -1
  55. package/assets/js/dynamic.min.js +4 -4
  56. package/assets/js/dynamic.min.js.map +1 -1
  57. package/assets/js/modules/applied-filters.js +6 -7
  58. package/assets/js/modules/dialogs.js +32 -4
  59. package/assets/js/modules/helpers.js +0 -13
  60. package/assets/js/modules/table.js +68 -13
  61. package/assets/js/scripts.bundle.js +18 -16
  62. package/assets/js/scripts.bundle.js.map +1 -1
  63. package/assets/js/scripts.bundle.min.js +2 -2
  64. package/assets/js/scripts.bundle.min.js.map +1 -1
  65. package/assets/sass/_corefiles.scss +0 -1
  66. package/assets/sass/_func.scss +1 -0
  67. package/assets/sass/_functions/mixins.scss +22 -0
  68. package/assets/sass/components/actionbar-global.scss +69 -7
  69. package/assets/sass/components/actionbar.scss +20 -8
  70. package/assets/sass/components/admin-panel.scss +47 -2
  71. package/assets/sass/components/card-global.scss +53 -1
  72. package/assets/sass/components/card.scss +14 -12
  73. package/assets/sass/components/charts.scss +1 -1
  74. package/assets/sass/components/collapsible-side.scss +327 -0
  75. package/assets/sass/components/dialog.scss +62 -61
  76. package/assets/sass/components/fileupload.scss +1 -1
  77. package/assets/sass/components/forms.scss +112 -102
  78. package/assets/sass/components/nav-global.scss +26 -9
  79. package/assets/sass/components/nav.scss +9 -10
  80. package/assets/sass/components/notification.scss +1 -1
  81. package/assets/sass/components/table.scss +85 -4
  82. package/assets/sass/core.scss +1 -0
  83. package/assets/sass/error.scss +2 -1
  84. package/assets/sass/foundations/root.scss +3 -3
  85. package/assets/sass/main.scss +4 -3
  86. package/assets/ts/components/actionbar/actionbar.component.ts +67 -2
  87. package/assets/ts/components/card/card.component.ts +12 -2
  88. package/assets/ts/components/collapsible-side/README.md +38 -0
  89. package/assets/ts/components/collapsible-side/collapsible-side.component.ts +134 -0
  90. package/assets/ts/components/table/table.component.ts +4 -0
  91. package/assets/ts/modules/applied-filters.ts +8 -10
  92. package/assets/ts/modules/dialogs.ts +42 -5
  93. package/assets/ts/modules/helpers.ts +0 -17
  94. package/assets/ts/modules/table.ts +82 -13
  95. package/dist/components.es.js +1270 -686
  96. package/dist/components.umd.js +132 -36
  97. package/dist/style.css +1 -1
  98. package/package.json +1 -1
  99. package/src/components/CollapsibleSideMenu/CollapsibleSideMenu.vue +20 -0
  100. package/src/components/CollapsibleSideMenu/README.md +23 -0
  101. package/src/index.js +8 -0
@@ -140,7 +140,35 @@ export const addFilterEventListeners = (table, form, pagination, wrapper, savedT
140
140
  var timer;
141
141
 
142
142
  // Check what conditions are set on the table to see what the form actions are
143
- let formSubmit = function(paginate = false){
143
+ let formSubmit = function(event, paginate = false){
144
+
145
+ if(form.classList.contains('processing'))
146
+ return false;
147
+
148
+
149
+ // Before submitting check if any duplicate checkboxes within the filters dialog needs to upset the original input
150
+ if(event.type == "submit"){
151
+ form.classList.add('processing');
152
+ Array.from(form.querySelectorAll('[data-duplicate]')).forEach((element,index) => {
153
+
154
+ const id = element.getAttribute('data-duplicate');
155
+ const input = document.getElementById(id);
156
+ const card = document.querySelector(`[for="${id}"] iam-card`);
157
+
158
+
159
+ if(input.checked != element.checked){
160
+
161
+ if(card){
162
+ let clickEvent = new Event('click');
163
+ card.dispatchEvent(clickEvent);
164
+ }
165
+ else {
166
+ input.checked = element.checked;
167
+ }
168
+ }
169
+ });
170
+ form.classList.remove('processing');
171
+ }
144
172
 
145
173
  if(form.hasAttribute('data-ajax')){
146
174
 
@@ -179,7 +207,7 @@ export const addFilterEventListeners = (table, form, pagination, wrapper, savedT
179
207
  if (event && event.target instanceof HTMLElement && event.target.closest('[data-search]')){
180
208
 
181
209
  timer = setTimeout(function(){
182
- formSubmit();
210
+ formSubmit(event);
183
211
  }, 500);
184
212
  };
185
213
  });
@@ -193,12 +221,12 @@ export const addFilterEventListeners = (table, form, pagination, wrapper, savedT
193
221
  if(!form.hasAttribute('data-submit'))
194
222
  sortTable(table, form, savedTableBody);
195
223
 
196
- formSubmit();
224
+ formSubmit(event);
197
225
  }
198
226
 
199
227
  if (event && event.target instanceof HTMLElement && event.target.closest('[data-search]')){
200
228
 
201
- formSubmit();
229
+ formSubmit(event);
202
230
  }
203
231
 
204
232
  if (event && event.target instanceof HTMLElement && event.target.closest('[data-filter][data-no-ajax]')){ // Allow for input fields to filter the current results without a new ajax call
@@ -209,21 +237,21 @@ export const addFilterEventListeners = (table, form, pagination, wrapper, savedT
209
237
  }
210
238
  else if (event && event.target instanceof HTMLElement && event.target.closest('[data-filter]') && event.target.closest('form .dialog__wrapper > dialog')){
211
239
 
212
- formSubmit();
240
+ formSubmit(event);
213
241
  }
214
242
  else if (event && event.target instanceof HTMLElement && event.target.closest('[data-filter]') && !event.target.closest('form dialog')){
215
243
 
216
- formSubmit();
244
+ formSubmit(event);
217
245
  }
218
246
 
219
247
  if (event && event.target instanceof HTMLElement && event.target.closest('[data-show]')){
220
248
 
221
- formSubmit();
249
+ formSubmit(event);
222
250
  }
223
251
 
224
252
  if (event && event.target instanceof HTMLElement && event.target.closest('[data-mimic]')){
225
253
 
226
- formSubmit();
254
+ formSubmit(event);
227
255
  }
228
256
  });
229
257
 
@@ -249,12 +277,53 @@ export const addFilterEventListeners = (table, form, pagination, wrapper, savedT
249
277
 
250
278
  if (event && event.target instanceof HTMLElement && event.target.closest('[data-clear]')){
251
279
 
252
- form.reset();
280
+ form.classList.add('processing');
281
+ // Make sure any applied filters have been removed
282
+ Array.from(form.querySelectorAll('.applied-filters')).forEach((filters,index) => {
283
+ filters.innerHTML = "";
284
+ });
285
+
286
+ // Make sure cards are unlicked
287
+ let frm_elements = form.elements;
288
+
289
+ for (let i = 0; i < frm_elements.length; i++)
290
+ {
291
+ let field_type = frm_elements[i].type.toLowerCase() ? frm_elements[i].type.toLowerCase() : "text";
292
+ switch (field_type)
293
+ {
294
+ case "text":
295
+ case "password":
296
+ case "textarea":
297
+ frm_elements[i].value = "";
298
+ break;
299
+ case "radio":
300
+ case "checkbox":
301
+ if (frm_elements[i].checked)
302
+ {
303
+ frm_elements[i].checked = false;
304
+ }
305
+ break;
306
+ case "select-one":
307
+ case "select-multi":
308
+ frm_elements[i].selectedIndex = -1;
309
+ break;
310
+ case "hidden":
311
+ default:
312
+ break;
313
+ }
314
+ }
315
+
316
+ Array.from(form.querySelectorAll('label iam-card')).forEach((card,index) => {
317
+ let clickEvent = new Event('click');
318
+ card.dispatchEvent(clickEvent);
319
+ });
320
+
321
+ form.classList.remove('processing');
253
322
 
254
323
  if(!form.hasAttribute('data-submit'))
255
324
  sortTable(table, form, savedTableBody);
256
325
 
257
- formSubmit();
326
+ formSubmit(event);
258
327
  }
259
328
  });
260
329
 
@@ -265,17 +334,17 @@ export const addFilterEventListeners = (table, form, pagination, wrapper, savedT
265
334
  if(!form.hasAttribute('data-submit'))
266
335
  event.preventDefault();
267
336
 
268
- formSubmit();
337
+ formSubmit(event);
269
338
  });
270
339
 
271
340
  form.addEventListener('force', (event) => {
272
341
 
273
- formSubmit();
342
+ formSubmit(event);
274
343
  });
275
344
 
276
345
  form.addEventListener('paginate', (event) => {
277
346
 
278
- formSubmit(true);
347
+ formSubmit(event,true);
279
348
  });
280
349
 
281
350