@colijnit/corecomponents_v12 12.2.9 → 12.2.11

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 (29) hide show
  1. package/bundles/colijnit-corecomponents_v12.umd.js +61 -12
  2. package/bundles/colijnit-corecomponents_v12.umd.js.map +1 -1
  3. package/colijnit-corecomponents_v12.metadata.json +1 -1
  4. package/esm2015/lib/components/base/base-input.component.js +3 -3
  5. package/esm2015/lib/components/calendar/calendar-template.component.js +51 -17
  6. package/esm2015/lib/components/co-dialog/co-dialog.component.js +15 -13
  7. package/esm2015/lib/components/co-dialog/co-dialog.module.js +4 -2
  8. package/esm2015/lib/components/filter-item/filter-item.component.js +40 -1
  9. package/esm2015/lib/components/form/form.component.js +2 -2
  10. package/esm2015/lib/components/simple-grid/simple-grid.component.js +3 -3
  11. package/esm2015/lib/core/enum/filterItem-mode.enum.js +4 -1
  12. package/fesm2015/colijnit-corecomponents_v12.js +114 -35
  13. package/fesm2015/colijnit-corecomponents_v12.js.map +1 -1
  14. package/lib/components/button/style/_layout.scss +29 -7
  15. package/lib/components/button/style/_material-definition.scss +12 -0
  16. package/lib/components/calendar/calendar-template.component.d.ts +4 -0
  17. package/lib/components/calendar/style/_layout.scss +32 -3
  18. package/lib/components/calendar/style/_material-definition.scss +24 -12
  19. package/lib/components/co-dialog/style/_layout.scss +17 -8
  20. package/lib/components/co-dialog/style/_material-definition.scss +7 -7
  21. package/lib/components/double-calendar/style/_layout.scss +4 -3
  22. package/lib/components/filter-item/filter-item.component.d.ts +2 -0
  23. package/lib/components/simple-grid/style/_layout.scss +7 -0
  24. package/lib/components/simple-grid/style/_material-definition.scss +2 -0
  25. package/lib/core/enum/filterItem-mode.enum.d.ts +1 -0
  26. package/lib/style/_input.mixins.scss +1 -0
  27. package/lib/style/_variables.scss +6 -1
  28. package/lib/style/corecomponents-globals.scss +61 -9
  29. package/package.json +1 -1
@@ -15,6 +15,9 @@ export var FilterItemMode;
15
15
  //This mode makes the Filter display a min and max field. This should eventually be a slider.
16
16
  // input is passed along as "min - max"
17
17
  FilterItemMode["Slider"] = "slider";
18
+ //This mode makes the Filter display a min and max field. This should eventually be a slider.
19
+ // input is passed along as "min - max" This version can be emptied.
20
+ FilterItemMode["NullableSlider"] = "nullableSlider";
18
21
  //This mode makes the Filter display a simple textfield.
19
22
  // The value typed into the field will be passed along directly as a string.
20
23
  FilterItemMode["TextField"] = "textField";
@@ -37,4 +40,4 @@ export var FilterItemMode;
37
40
  // It's value will be passed along as either a 1 or and 0.
38
41
  FilterItemMode["CheckboxToBinary"] = "checkboxToBinary";
39
42
  })(FilterItemMode || (FilterItemMode = {}));
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVySXRlbS1tb2RlLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlY29tcG9uZW50cy9zcmMvbGliL2NvcmUvZW51bS9maWx0ZXJJdGVtLW1vZGUuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxjQW9EWDtBQXBERCxXQUFZLGNBQWM7SUFFeEIsd0RBQXdEO0lBQ3hELDJHQUEyRztJQUMzRywyQ0FBeUIsQ0FBQTtJQUV6Qix5REFBeUQ7SUFDekQsMERBQTBEO0lBQzFELHVEQUFxQyxDQUFBO0lBRXJDLHdEQUF3RDtJQUN4RCwwREFBMEQ7SUFDMUQsK0ZBQTZFLENBQUE7SUFFN0Usd0RBQXdEO0lBQ3hELG9JQUFvSTtJQUNwSSwyRUFBeUQsQ0FBQTtJQUV6RCw2RkFBNkY7SUFDN0YsdUNBQXVDO0lBQ3ZDLG1DQUFpQixDQUFBO0lBRWpCLHdEQUF3RDtJQUN4RCw0RUFBNEU7SUFDNUUseUNBQXVCLENBQUE7SUFFdkIsd0RBQXdEO0lBQ3hELDhEQUE4RDtJQUM5RCx5Q0FBdUIsQ0FBQTtJQUV2Qix1REFBdUQ7SUFDdkQsc0hBQXNIO0lBQ3RILG1EQUFpQyxDQUFBO0lBRWpDLHVEQUF1RDtJQUN2RCx5REFBeUQ7SUFDekQsdUNBQXFCLENBQUE7SUFFckIsdURBQXVEO0lBQ3ZELDhEQUE4RDtJQUM5RCwrREFBNkMsQ0FBQTtJQUU3Qyx1REFBdUQ7SUFDdkQsc0VBQXNFO0lBQ3RFLG1EQUFpQyxDQUFBO0lBRWpDLHVEQUF1RDtJQUN2RCwwREFBMEQ7SUFDMUQsdURBQXFDLENBQUE7QUFJdkMsQ0FBQyxFQXBEVyxjQUFjLEtBQWQsY0FBYyxRQW9EekIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBGaWx0ZXJJdGVtTW9kZSB7XHJcblxyXG4gIC8vVGhpcyBtb2RlIG1ha2VzIHRoZSBGaWx0ZXIgZGlzcGxheSBhIG11bHRpIHNlbGVjdCBsaXN0XHJcbiAgLy8gSW5wdXQgd2lsbCBiZSBwYXNzZWQgYWxvbmcgZGlyZWN0bHkgYXMgYSBzdHJpbmcgd2l0aCB0aGUgZm9sbG93aW5nIHN5bnRheDogXCI/Pj0nY2hvaWNlIDEnLCA/PD0nY2hvaWNlMidcIlxyXG4gIEZpbHRlcmxpc3QgPSAnZmlsdGVybGlzdCcsXHJcblxyXG4gIC8vVGhpcyBtb2RlIG1ha2VzIHRoZSBGaWx0ZXIgZGlzcGxheSBhIHNpbmdsZSBzZWxlY3QgbGlzdFxyXG4gIC8vIElucHV0IHdpbGwgYmUgcGFzc2VkIGFsb25nIGRpcmVjdGx5IGFzIGEgc2ltcGxlIHN0cmluZy5cclxuICBTaW5nbGVTZWxlY3RMaXN0ID0gJ3NpbmdsZVNlbGVjdExpc3QnLFxyXG5cclxuICAvL1RoaXMgbW9kZSBtYWtlcyB0aGUgRmlsdGVyIGRpc3BsYXkgYSBtdWx0aSBzZWxlY3QgbGlzdFxyXG4gIC8vIElucHV0IHdpbGwgYmUgcGFzc2VkIGFsb25nIGRpcmVjdGx5IGFzIGEgc2ltcGxlIHN0cmluZy5cclxuICBTZWxlY3RMaXN0V2l0aFN0cmluZ0NvbGxlY3Rpb25PdXRwdXQgPSAnc2VsZWN0TGlzdFdpdGhTdHJpbmdDb2xsZWN0aW9uT3V0cHV0JyxcclxuXHJcbiAgLy9UaGlzIG1vZGUgbWFrZXMgdGhlIEZpbHRlciBkaXNwbGF5IGEgbXVsdGkgc2VsZWN0IGxpc3RcclxuICAvLyBBdmFpbGFibGUgY2hvaWNlcyB3aWxsIG5lZWQgdG8gaGF2ZSB0aGVpciBpZGVudGlmeWluZyB2YWx1ZSBiZSBhIG51bWJlci4gVGhlIHN1bW1hdGlvbiBvZiBhbGwgdGhlc2UgbnVtYmVycyB3aWxsIGJlIHBhc3NlZCBhbG9uZy5cclxuICBTZWxlY3RMaXN0V2l0aE51bWJlck91dHB1dCA9ICdzZWxlY3RMaXN0V2l0aE51bWJlck91dHB1dCcsXHJcblxyXG4gIC8vVGhpcyBtb2RlIG1ha2VzIHRoZSBGaWx0ZXIgZGlzcGxheSBhIG1pbiBhbmQgbWF4IGZpZWxkLiBUaGlzIHNob3VsZCBldmVudHVhbGx5IGJlIGEgc2xpZGVyLlxyXG4gIC8vIGlucHV0IGlzIHBhc3NlZCBhbG9uZyBhcyBcIm1pbiAtIG1heFwiXHJcbiAgU2xpZGVyID0gJ3NsaWRlcicsXHJcblxyXG4gIC8vVGhpcyBtb2RlIG1ha2VzIHRoZSBGaWx0ZXIgZGlzcGxheSBhIHNpbXBsZSB0ZXh0ZmllbGQuXHJcbiAgLy8gVGhlIHZhbHVlIHR5cGVkIGludG8gdGhlIGZpZWxkIHdpbGwgYmUgcGFzc2VkIGFsb25nIGRpcmVjdGx5IGFzIGEgc3RyaW5nLlxyXG4gIFRleHRGaWVsZCA9ICd0ZXh0RmllbGQnLFxyXG5cclxuICAvL1RoaXMgbW9kZSBtYWtlcyB0aGUgRmlsdGVyIGRpc3BsYXkgYSBzaW1wbGUgZGF0ZUZpZWxkLlxyXG4gIC8vIEZpZWxkIGlucHV0IHdpbGwgYmUgcGFzc2VkIGFsb25nIGRpcmVjdGx5IGFzIGEgZGF0ZSBvYmplY3QuXHJcbiAgRGF0ZUZpZWxkID0gJ2RhdGVGaWVsZCcsXHJcblxyXG4gIC8vVGhpcyBtb2RlIG1ha2VzIHRoZSBGaWx0ZXIgZGlzcGxheSBhIGRhdGVSYW5nZSBmaWVsZC5cclxuICAvLyBGaWVsZCBpbnB1dCB3aWxsIGJlIHBhc3NlZCBhbG9uZyBkaXJlY3RseSBhcyBhIHN0cmluZyB3aXRoIHRoZSBmb2xsb3dpbmcgc3ludGF4OiBcIj8+PScwMS0wOC0yMDIyJyYgPzw9JzMxLTA4LTIwMjInXCJcclxuICBEYXRlUmFuZ2VGaWVsZCA9ICdkYXRlUmFuZ2VGaWVsZCcsXHJcblxyXG4gIC8vVGhpcyBtb2RlIG1ha2VzIHRoZSBGaWx0ZXIgZGlzcGxheSBhIHNpbXBsZSBjaGVja0JveC5cclxuICAvLyBJdCdzIHZhbHVlIHdpbGwgYmUgcGFzc2VkIGFsb25nIGRpcmVjdGx5IGFzIGEgYm9vbGVhbi5cclxuICBDaGVja2JveCA9ICdjaGVja2JveCcsXHJcblxyXG4gIC8vVGhpcyBtb2RlIG1ha2VzIHRoZSBGaWx0ZXIgZGlzcGxheSBhIHNpbXBsZSBjaGVja0JveC5cclxuICAvLyBJdCdzIHZhbHVlIHdpbGwgYmUgcGFzc2VkIGFsb25nIGFzIGVpdGhlciBhICdUJyBvciBhbmQgJ0YnLlxyXG4gIENoZWNrYm94VG9TaW1wbGVUZXh0ID0gJ2NoZWNrYm94VG9TaW1wbGVUZXh0JyxcclxuXHJcbiAgLy9UaGlzIG1vZGUgbWFrZXMgdGhlIEZpbHRlciBkaXNwbGF5IGEgc2ltcGxlIGNoZWNrQm94LlxyXG4gIC8vIEl0J3MgdmFsdWUgd2lsbCBiZSBwYXNzZWQgYWxvbmcgYXMgZWl0aGVyIGEgXCI/PSdUJ1wiIG9yIGFuZCBcIj89J0YnXCIuXHJcbiAgQ2hlY2tib3hUb1RleHQgPSAnY2hlY2tib3hUb1RleHQnLFxyXG5cclxuICAvL1RoaXMgbW9kZSBtYWtlcyB0aGUgRmlsdGVyIGRpc3BsYXkgYSBzaW1wbGUgY2hlY2tCb3guXHJcbiAgLy8gSXQncyB2YWx1ZSB3aWxsIGJlIHBhc3NlZCBhbG9uZyBhcyBlaXRoZXIgYSAxIG9yIGFuZCAwLlxyXG4gIENoZWNrYm94VG9CaW5hcnkgPSAnY2hlY2tib3hUb0JpbmFyeScsXHJcblxyXG5cclxuXHJcbn1cclxuIl19
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVySXRlbS1tb2RlLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlY29tcG9uZW50cy9zcmMvbGliL2NvcmUvZW51bS9maWx0ZXJJdGVtLW1vZGUuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxjQXdEWDtBQXhERCxXQUFZLGNBQWM7SUFFeEIsd0RBQXdEO0lBQ3hELDJHQUEyRztJQUMzRywyQ0FBeUIsQ0FBQTtJQUV6Qix5REFBeUQ7SUFDekQsMERBQTBEO0lBQzFELHVEQUFxQyxDQUFBO0lBRXJDLHdEQUF3RDtJQUN4RCwwREFBMEQ7SUFDMUQsK0ZBQTZFLENBQUE7SUFFN0Usd0RBQXdEO0lBQ3hELG9JQUFvSTtJQUNwSSwyRUFBeUQsQ0FBQTtJQUV6RCw2RkFBNkY7SUFDN0YsdUNBQXVDO0lBQ3ZDLG1DQUFpQixDQUFBO0lBRWpCLDZGQUE2RjtJQUM3RixvRUFBb0U7SUFDcEUsbURBQWlDLENBQUE7SUFFakMsd0RBQXdEO0lBQ3hELDRFQUE0RTtJQUM1RSx5Q0FBdUIsQ0FBQTtJQUV2Qix3REFBd0Q7SUFDeEQsOERBQThEO0lBQzlELHlDQUF1QixDQUFBO0lBRXZCLHVEQUF1RDtJQUN2RCxzSEFBc0g7SUFDdEgsbURBQWlDLENBQUE7SUFFakMsdURBQXVEO0lBQ3ZELHlEQUF5RDtJQUN6RCx1Q0FBcUIsQ0FBQTtJQUVyQix1REFBdUQ7SUFDdkQsOERBQThEO0lBQzlELCtEQUE2QyxDQUFBO0lBRTdDLHVEQUF1RDtJQUN2RCxzRUFBc0U7SUFDdEUsbURBQWlDLENBQUE7SUFFakMsdURBQXVEO0lBQ3ZELDBEQUEwRDtJQUMxRCx1REFBcUMsQ0FBQTtBQUl2QyxDQUFDLEVBeERXLGNBQWMsS0FBZCxjQUFjLFFBd0R6QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEZpbHRlckl0ZW1Nb2RlIHtcclxuXHJcbiAgLy9UaGlzIG1vZGUgbWFrZXMgdGhlIEZpbHRlciBkaXNwbGF5IGEgbXVsdGkgc2VsZWN0IGxpc3RcclxuICAvLyBJbnB1dCB3aWxsIGJlIHBhc3NlZCBhbG9uZyBkaXJlY3RseSBhcyBhIHN0cmluZyB3aXRoIHRoZSBmb2xsb3dpbmcgc3ludGF4OiBcIj8+PSdjaG9pY2UgMScsID88PSdjaG9pY2UyJ1wiXHJcbiAgRmlsdGVybGlzdCA9ICdmaWx0ZXJsaXN0JyxcclxuXHJcbiAgLy9UaGlzIG1vZGUgbWFrZXMgdGhlIEZpbHRlciBkaXNwbGF5IGEgc2luZ2xlIHNlbGVjdCBsaXN0XHJcbiAgLy8gSW5wdXQgd2lsbCBiZSBwYXNzZWQgYWxvbmcgZGlyZWN0bHkgYXMgYSBzaW1wbGUgc3RyaW5nLlxyXG4gIFNpbmdsZVNlbGVjdExpc3QgPSAnc2luZ2xlU2VsZWN0TGlzdCcsXHJcblxyXG4gIC8vVGhpcyBtb2RlIG1ha2VzIHRoZSBGaWx0ZXIgZGlzcGxheSBhIG11bHRpIHNlbGVjdCBsaXN0XHJcbiAgLy8gSW5wdXQgd2lsbCBiZSBwYXNzZWQgYWxvbmcgZGlyZWN0bHkgYXMgYSBzaW1wbGUgc3RyaW5nLlxyXG4gIFNlbGVjdExpc3RXaXRoU3RyaW5nQ29sbGVjdGlvbk91dHB1dCA9ICdzZWxlY3RMaXN0V2l0aFN0cmluZ0NvbGxlY3Rpb25PdXRwdXQnLFxyXG5cclxuICAvL1RoaXMgbW9kZSBtYWtlcyB0aGUgRmlsdGVyIGRpc3BsYXkgYSBtdWx0aSBzZWxlY3QgbGlzdFxyXG4gIC8vIEF2YWlsYWJsZSBjaG9pY2VzIHdpbGwgbmVlZCB0byBoYXZlIHRoZWlyIGlkZW50aWZ5aW5nIHZhbHVlIGJlIGEgbnVtYmVyLiBUaGUgc3VtbWF0aW9uIG9mIGFsbCB0aGVzZSBudW1iZXJzIHdpbGwgYmUgcGFzc2VkIGFsb25nLlxyXG4gIFNlbGVjdExpc3RXaXRoTnVtYmVyT3V0cHV0ID0gJ3NlbGVjdExpc3RXaXRoTnVtYmVyT3V0cHV0JyxcclxuXHJcbiAgLy9UaGlzIG1vZGUgbWFrZXMgdGhlIEZpbHRlciBkaXNwbGF5IGEgbWluIGFuZCBtYXggZmllbGQuIFRoaXMgc2hvdWxkIGV2ZW50dWFsbHkgYmUgYSBzbGlkZXIuXHJcbiAgLy8gaW5wdXQgaXMgcGFzc2VkIGFsb25nIGFzIFwibWluIC0gbWF4XCJcclxuICBTbGlkZXIgPSAnc2xpZGVyJyxcclxuXHJcbiAgLy9UaGlzIG1vZGUgbWFrZXMgdGhlIEZpbHRlciBkaXNwbGF5IGEgbWluIGFuZCBtYXggZmllbGQuIFRoaXMgc2hvdWxkIGV2ZW50dWFsbHkgYmUgYSBzbGlkZXIuXHJcbiAgLy8gaW5wdXQgaXMgcGFzc2VkIGFsb25nIGFzIFwibWluIC0gbWF4XCIgVGhpcyB2ZXJzaW9uIGNhbiBiZSBlbXB0aWVkLlxyXG4gIE51bGxhYmxlU2xpZGVyID0gJ251bGxhYmxlU2xpZGVyJyxcclxuXHJcbiAgLy9UaGlzIG1vZGUgbWFrZXMgdGhlIEZpbHRlciBkaXNwbGF5IGEgc2ltcGxlIHRleHRmaWVsZC5cclxuICAvLyBUaGUgdmFsdWUgdHlwZWQgaW50byB0aGUgZmllbGQgd2lsbCBiZSBwYXNzZWQgYWxvbmcgZGlyZWN0bHkgYXMgYSBzdHJpbmcuXHJcbiAgVGV4dEZpZWxkID0gJ3RleHRGaWVsZCcsXHJcblxyXG4gIC8vVGhpcyBtb2RlIG1ha2VzIHRoZSBGaWx0ZXIgZGlzcGxheSBhIHNpbXBsZSBkYXRlRmllbGQuXHJcbiAgLy8gRmllbGQgaW5wdXQgd2lsbCBiZSBwYXNzZWQgYWxvbmcgZGlyZWN0bHkgYXMgYSBkYXRlIG9iamVjdC5cclxuICBEYXRlRmllbGQgPSAnZGF0ZUZpZWxkJyxcclxuXHJcbiAgLy9UaGlzIG1vZGUgbWFrZXMgdGhlIEZpbHRlciBkaXNwbGF5IGEgZGF0ZVJhbmdlIGZpZWxkLlxyXG4gIC8vIEZpZWxkIGlucHV0IHdpbGwgYmUgcGFzc2VkIGFsb25nIGRpcmVjdGx5IGFzIGEgc3RyaW5nIHdpdGggdGhlIGZvbGxvd2luZyBzeW50YXg6IFwiPz49JzAxLTA4LTIwMjInJiA/PD0nMzEtMDgtMjAyMidcIlxyXG4gIERhdGVSYW5nZUZpZWxkID0gJ2RhdGVSYW5nZUZpZWxkJyxcclxuXHJcbiAgLy9UaGlzIG1vZGUgbWFrZXMgdGhlIEZpbHRlciBkaXNwbGF5IGEgc2ltcGxlIGNoZWNrQm94LlxyXG4gIC8vIEl0J3MgdmFsdWUgd2lsbCBiZSBwYXNzZWQgYWxvbmcgZGlyZWN0bHkgYXMgYSBib29sZWFuLlxyXG4gIENoZWNrYm94ID0gJ2NoZWNrYm94JyxcclxuXHJcbiAgLy9UaGlzIG1vZGUgbWFrZXMgdGhlIEZpbHRlciBkaXNwbGF5IGEgc2ltcGxlIGNoZWNrQm94LlxyXG4gIC8vIEl0J3MgdmFsdWUgd2lsbCBiZSBwYXNzZWQgYWxvbmcgYXMgZWl0aGVyIGEgJ1QnIG9yIGFuZCAnRicuXHJcbiAgQ2hlY2tib3hUb1NpbXBsZVRleHQgPSAnY2hlY2tib3hUb1NpbXBsZVRleHQnLFxyXG5cclxuICAvL1RoaXMgbW9kZSBtYWtlcyB0aGUgRmlsdGVyIGRpc3BsYXkgYSBzaW1wbGUgY2hlY2tCb3guXHJcbiAgLy8gSXQncyB2YWx1ZSB3aWxsIGJlIHBhc3NlZCBhbG9uZyBhcyBlaXRoZXIgYSBcIj89J1QnXCIgb3IgYW5kIFwiPz0nRidcIi5cclxuICBDaGVja2JveFRvVGV4dCA9ICdjaGVja2JveFRvVGV4dCcsXHJcblxyXG4gIC8vVGhpcyBtb2RlIG1ha2VzIHRoZSBGaWx0ZXIgZGlzcGxheSBhIHNpbXBsZSBjaGVja0JveC5cclxuICAvLyBJdCdzIHZhbHVlIHdpbGwgYmUgcGFzc2VkIGFsb25nIGFzIGVpdGhlciBhIDEgb3IgYW5kIDAuXHJcbiAgQ2hlY2tib3hUb0JpbmFyeSA9ICdjaGVja2JveFRvQmluYXJ5JyxcclxuXHJcblxyXG5cclxufVxyXG4iXX0=
@@ -12,9 +12,9 @@ import { PlaneBufferGeometry, Mesh, Vector2, Vector3, PlaneGeometry, MeshPhongMa
12
12
  import { CSS3DObject, CSS3DRenderer } from 'three/examples/jsm/renderers/CSS3DRenderer';
13
13
  import * as TWEEN from '@tweenjs/tween.js';
14
14
  import 'hammerjs';
15
+ import { DragDropModule, moveItemInArray } from '@angular/cdk/drag-drop';
15
16
  import { OverlayConfig, Overlay } from '@angular/cdk/overlay';
16
17
  import { ComponentPortal } from '@angular/cdk/portal';
17
- import { moveItemInArray, DragDropModule } from '@angular/cdk/drag-drop';
18
18
  import { ScrollingModule } from '@angular/cdk/scrolling';
19
19
  import { ArrayUtils as ArrayUtils$1 } from '@colijnit/ioneconnector/build/utils/array-utils';
20
20
  import { DEFAULT_GET_OBJECT_CONFIGURATION_PARAMS } from '@colijnit/ioneconnector/build/model/default-get-object-configurations-params';
@@ -2231,7 +2231,7 @@ class BaseInputComponent {
2231
2231
  }
2232
2232
  doBlur(event, handleCommit = true) {
2233
2233
  return __awaiter(this, void 0, void 0, function* () {
2234
- if (this.showSaveCancel && handleCommit) {
2234
+ if (this.showSaveCancel && handleCommit && this._modelDirtyForCommit) {
2235
2235
  yield this._handleCommit(event, false);
2236
2236
  }
2237
2237
  setTimeout(() => {
@@ -2371,10 +2371,10 @@ class BaseInputComponent {
2371
2371
  this._commitButtonsComponentRef.instance.commitFinished = false;
2372
2372
  this._commitButtonsComponentRef.instance.committing = true;
2373
2373
  }
2374
+ this._modelDirtyForCommit = false;
2374
2375
  const success = yield this.commit(this.model);
2375
2376
  this.keepFocus = false;
2376
2377
  yield this._commitFinished();
2377
- this._modelDirtyForCommit = false;
2378
2378
  if (success && doBlur) {
2379
2379
  this.doBlur(event, false);
2380
2380
  }
@@ -4406,20 +4406,22 @@ CoDialogComponent.decorators = [
4406
4406
  selector: 'co-dialog',
4407
4407
  template: `
4408
4408
  <div class="co-dialog-overlay" (click)="handleOverlayClick($event)"></div>
4409
- <div class="co-dialog-wrapper" [ngClass]="customCssClass ? customCssClass : undefined" @showHideDialog>
4410
- <div class="dialog-header" *ngIf="!borderless">
4411
- <div class="dialog-header-caption" *ngIf="headerTemplate">
4412
- <ng-container [ngTemplateOutlet]="headerTemplate"></ng-container>
4409
+ <div class="co-dialog-placeholder">
4410
+ <div class="co-dialog-wrapper" [ngClass]="customCssClass ? customCssClass : undefined" @showHideDialog cdkDrag>
4411
+ <div class="dialog-header" *ngIf="!borderless" cdkDragHandle>
4412
+ <div class="dialog-header-caption" *ngIf="headerTemplate">
4413
+ <ng-container [ngTemplateOutlet]="headerTemplate"></ng-container>
4414
+ </div>
4415
+ <div class="dialog-close-button" *ngIf="showCloseIcon" (click)="handleCloseDialog($event)">
4416
+ <co-icon [icon]="icons.CrossSkinny"></co-icon>
4417
+ </div>
4413
4418
  </div>
4414
- <div class="dialog-close-button" *ngIf="showCloseIcon" (click)="handleCloseDialog($event)">
4415
- <co-icon [icon]="icons.CrossSkinny"></co-icon>
4419
+ <div class="dialog-content co-small-scrollbar" [ngClass]="customCssClass ? customCssClass : undefined">
4420
+ <ng-content></ng-content>
4421
+ </div>
4422
+ <div class="dialog-footer" *ngIf="footerTemplate">
4423
+ <ng-container [ngTemplateOutlet]="footerTemplate"></ng-container>
4416
4424
  </div>
4417
- </div>
4418
- <div class="dialog-content co-small-scrollbar" [ngClass]="customCssClass ? customCssClass : undefined">
4419
- <ng-content></ng-content>
4420
- </div>
4421
- <div class="dialog-footer" *ngIf="footerTemplate">
4422
- <ng-container [ngTemplateOutlet]="footerTemplate"></ng-container>
4423
4425
  </div>
4424
4426
  </div>
4425
4427
  `,
@@ -4463,7 +4465,8 @@ CoDialogModule.decorators = [
4463
4465
  { type: NgModule, args: [{
4464
4466
  imports: [
4465
4467
  CommonModule,
4466
- IconModule
4468
+ IconModule,
4469
+ DragDropModule
4467
4470
  ],
4468
4471
  declarations: [CoDialogComponent],
4469
4472
  exports: [CoDialogComponent]
@@ -4898,7 +4901,7 @@ class FormComponent {
4898
4901
  }
4899
4902
  FormComponent.decorators = [
4900
4903
  { type: Component, args: [{
4901
- selector: "co-form",
4904
+ selector: "co-form-test",
4902
4905
  template: `
4903
4906
  <ng-content></ng-content>
4904
4907
  `,
@@ -5185,6 +5188,9 @@ var FilterItemMode;
5185
5188
  //This mode makes the Filter display a min and max field. This should eventually be a slider.
5186
5189
  // input is passed along as "min - max"
5187
5190
  FilterItemMode["Slider"] = "slider";
5191
+ //This mode makes the Filter display a min and max field. This should eventually be a slider.
5192
+ // input is passed along as "min - max" This version can be emptied.
5193
+ FilterItemMode["NullableSlider"] = "nullableSlider";
5188
5194
  //This mode makes the Filter display a simple textfield.
5189
5195
  // The value typed into the field will be passed along directly as a string.
5190
5196
  FilterItemMode["TextField"] = "textField";
@@ -6247,6 +6253,8 @@ ClickoutsideModule.decorators = [
6247
6253
  class CalendarTemplateComponent {
6248
6254
  constructor() {
6249
6255
  this.icons = CoreComponentsIcon;
6256
+ this.showWeekNumbers = true;
6257
+ this.weekNumbers = [];
6250
6258
  this.locale = "nl-NL";
6251
6259
  this.highlightDaysBetweenDates = false;
6252
6260
  this.dateSelected = new EventEmitter();
@@ -6319,6 +6327,7 @@ class CalendarTemplateComponent {
6319
6327
  }
6320
6328
  this.generateCalendar();
6321
6329
  this._fillDatesBetweenSelected();
6330
+ this.calculateWeekNumbers();
6322
6331
  }
6323
6332
  nextMonth() {
6324
6333
  if (this.workingMonth === 11) {
@@ -6330,6 +6339,7 @@ class CalendarTemplateComponent {
6330
6339
  }
6331
6340
  this.generateCalendar();
6332
6341
  this._fillDatesBetweenSelected();
6342
+ this.calculateWeekNumbers();
6333
6343
  }
6334
6344
  prevYear() {
6335
6345
  this.workingYear--;
@@ -6348,6 +6358,7 @@ class CalendarTemplateComponent {
6348
6358
  this.monthHeader = `${month} ${year}`;
6349
6359
  this.yearHeader = `${year}`;
6350
6360
  this.generateYearSelectionYears();
6361
+ this.calculateWeekNumbers();
6351
6362
  }
6352
6363
  _setInitialValues() {
6353
6364
  this.workingDay = this.selectedDate ? this.selectedDate : new Date();
@@ -6477,6 +6488,28 @@ class CalendarTemplateComponent {
6477
6488
  _capitalizeFirstLetter(value) {
6478
6489
  return value.charAt(0).toUpperCase() + value.slice(1);
6479
6490
  }
6491
+ calculateWeekNumbers() {
6492
+ this.weekNumbers = [];
6493
+ let weekNumber = null;
6494
+ for (let i = 0; i < this.daysInMonth.length; i++) {
6495
+ const day = this.daysInMonth[i];
6496
+ if (day) {
6497
+ // Start of a new week or first day of the month, calculate and set weekNumber
6498
+ weekNumber = this.getISOWeek(day);
6499
+ // Check if the weekNumber is not already in the array
6500
+ if (!this.weekNumbers.includes(weekNumber)) {
6501
+ this.weekNumbers.push(weekNumber);
6502
+ }
6503
+ }
6504
+ }
6505
+ }
6506
+ getISOWeek(date) {
6507
+ const d = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()));
6508
+ d.setUTCDate(d.getUTCDate() + 4 - (d.getUTCDay() || 7));
6509
+ const yearStart = new Date(Date.UTC(d.getUTCFullYear(), 0, 1));
6510
+ const weekNumber = Math.ceil(((d.valueOf() - yearStart.valueOf()) / 86400000 + 1) / 7);
6511
+ return weekNumber;
6512
+ }
6480
6513
  }
6481
6514
  CalendarTemplateComponent.decorators = [
6482
6515
  { type: Component, args: [{
@@ -6515,23 +6548,29 @@ CalendarTemplateComponent.decorators = [
6515
6548
  </ng-container>
6516
6549
  </div>
6517
6550
  </div>
6518
-
6519
- <div class="calendar-body" *ngIf="showCalendarBody">
6520
- <div class="day-names">
6521
- <div class="weekday" *ngFor="let dayName of dayNames" [textContent]="dayName"></div>
6551
+ <div class="calendar-wrapper">
6552
+ <div class="week-wrapper" *ngIf="showWeekNumbers && showCalendarBody">
6553
+ <div class="week-number" [textContent]="'W'"></div>
6554
+ <div class="week-number" *ngFor="let weekNumber of weekNumbers">
6555
+ {{ weekNumber }}
6556
+ </div>
6522
6557
  </div>
6523
- <div *ngFor="let day of daysInMonth" class="calendar-day"
6524
- [class.highlighted-day]="daysToHighlight.includes(day)"
6525
- [class.selected-day]="selectedDate && (day && day.getTime() === selectedDate.getTime()) ||
6526
- secondSelectedDate && (day && day.getTime() === secondSelectedDate.getTime()) ||
6527
- temporarySelectedSecondaryDate && (day && day.getTime() === temporarySelectedSecondaryDate.getTime())"
6528
-
6529
- (click)="selectDate(day)"
6530
- (mouseover)="handleMouseOverDay(day)">
6531
- <ng-container *ngIf="day">
6532
- <div class="day-number"
6533
- [textContent]="day.getDate()"></div>
6534
- </ng-container>
6558
+ <div class="calendar-body" *ngIf="showCalendarBody">
6559
+ <div class="day-names">
6560
+ <div class="weekday" *ngFor="let dayName of dayNames" [textContent]="dayName"></div>
6561
+ </div>
6562
+ <div *ngFor="let day of daysInMonth" class="calendar-day"
6563
+ [class.highlighted-day]="daysToHighlight.includes(day)"
6564
+ [class.selected-day]="selectedDate && (day && day.getTime() === selectedDate.getTime()) ||
6565
+ secondSelectedDate && (day && day.getTime() === secondSelectedDate.getTime()) ||
6566
+ temporarySelectedSecondaryDate && (day && day.getTime() === temporarySelectedSecondaryDate.getTime())"
6567
+ (click)="selectDate(day)"
6568
+ (mouseover)="handleMouseOverDay(day)">
6569
+ <!-- Day number -->
6570
+ <ng-container *ngIf="day">
6571
+ <div class="day-number" [textContent]="day.getDate()"></div>
6572
+ </ng-container>
6573
+ </div>
6535
6574
  </div>
6536
6575
  </div>
6537
6576
  </div>
@@ -6540,6 +6579,7 @@ CalendarTemplateComponent.decorators = [
6540
6579
  },] }
6541
6580
  ];
6542
6581
  CalendarTemplateComponent.propDecorators = {
6582
+ showWeekNumbers: [{ type: Input }],
6543
6583
  locale: [{ type: Input }],
6544
6584
  highlightDaysBetweenDates: [{ type: Input }],
6545
6585
  selectedDate: [{ type: Input }],
@@ -9479,7 +9519,7 @@ SimpleGridComponent.decorators = [
9479
9519
  [class.disabled]="isRowDisabled(row)"
9480
9520
  [class.editing]="rowIndex === editRowIndex" *ngFor="let row of (!!rowsPerPage ? (data | paginate: {itemsPerPage: rowsPerPage, currentPage: currentPage}) : data); last as last; let rowIndex = index" cdkDrag
9481
9521
  (click)="handleClickRow($event, rowIndex, row)" (dblclick)="handleDblClickRow($event, rowIndex, row)" (visibilityChange)="rowVisible.next(row)">
9482
- <co-form class="simple-grid-row-form">
9522
+ <co-form-test class="simple-grid-row-form">
9483
9523
  <ng-container *ngIf="isSingleColumnRow(row)">
9484
9524
  <td class="simple-grid-single-column-cell" [attr.colspan]="headerColumns.length">
9485
9525
  <co-simple-grid-cell
@@ -9503,7 +9543,7 @@ SimpleGridComponent.decorators = [
9503
9543
  </td>
9504
9544
  </ng-container>
9505
9545
  </ng-container>
9506
- </co-form>
9546
+ </co-form-test>
9507
9547
  </tr>
9508
9548
  </tbody>
9509
9549
  </table>
@@ -11156,6 +11196,7 @@ class FilterItemComponent {
11156
11196
  this.noResultsLabel = "No results";
11157
11197
  this.sliderDefaultMin = 0;
11158
11198
  this.sliderDefaultMax = 100000;
11199
+ this.fullRangeIsNull = false;
11159
11200
  this.modelChange = new EventEmitter();
11160
11201
  this.collectionChange = new EventEmitter();
11161
11202
  this.filterButtonClicked = new EventEmitter();
@@ -11243,6 +11284,10 @@ class FilterItemComponent {
11243
11284
  this.showButton = true;
11244
11285
  this._createModelForSliderMode();
11245
11286
  break;
11287
+ case this.modes.NullableSlider:
11288
+ this.showButton = true;
11289
+ this._createModelForNullableSliderMode();
11290
+ break;
11246
11291
  case this.modes.CheckboxToText:
11247
11292
  this.showButton = true;
11248
11293
  this._createModelForCheckboxToText();
@@ -11330,6 +11375,7 @@ class FilterItemComponent {
11330
11375
  this._readModelForSelectListWithNumberOutput(newModel);
11331
11376
  break;
11332
11377
  case this.modes.Slider:
11378
+ case this.modes.NullableSlider:
11333
11379
  this._readModelForSliderMode(newModel);
11334
11380
  break;
11335
11381
  case this.modes.CheckboxToText:
@@ -11417,6 +11463,16 @@ class FilterItemComponent {
11417
11463
  this.sliderMax = trueUpperBound;
11418
11464
  this._model = `${trueLowerBound} - ${trueUpperBound}`;
11419
11465
  }
11466
+ _createModelForNullableSliderMode() {
11467
+ if (this.sliderMin && this.sliderMax) {
11468
+ let trueLowerBound = Math.min(this.sliderMin, this.sliderMax);
11469
+ let trueUpperBound = Math.max(this.sliderMin, this.sliderMax);
11470
+ this._model = `${trueLowerBound} - ${trueUpperBound}`;
11471
+ }
11472
+ else {
11473
+ this._model = null;
11474
+ }
11475
+ }
11420
11476
  _createModelForCheckboxToText() {
11421
11477
  if (this.checkBoxToTextModel) {
11422
11478
  this._model = "?='J'";
@@ -11669,6 +11725,28 @@ FilterItemComponent.decorators = [
11669
11725
  (focusout)="handleModelChange(sliderMax)"
11670
11726
  ></co-input-text>
11671
11727
  </div>
11728
+ <div class="co-filter-item-slider-content" *ngIf="mode === modes.NullableSlider">
11729
+ <co-input-text
11730
+ class="slider-from"
11731
+ [type]="'number'"
11732
+ [digitsOnly]="true"
11733
+ [hideArrowButtons]="true"
11734
+ [excludePlusMinus]="true"
11735
+ [label]="'FROM' | localize"
11736
+ [(model)]="sliderMin"
11737
+ (focusout)="handleModelChange(sliderMin)"
11738
+ ></co-input-text>
11739
+ <co-input-text
11740
+ class="slider-to"
11741
+ [type]="'number'"
11742
+ [digitsOnly]="true"
11743
+ [hideArrowButtons]="true"
11744
+ [excludePlusMinus]="true"
11745
+ [label]="'TO' | localize"
11746
+ [(model)]="sliderMax"
11747
+ (focusout)="handleModelChange(sliderMax)"
11748
+ ></co-input-text>
11749
+ </div>
11672
11750
  <div class="co-filter-item-checkbox-content" *ngIf="mode === modes.Checkbox ">
11673
11751
  <co-input-checkbox
11674
11752
  [(model)]="model"
@@ -11732,6 +11810,7 @@ FilterItemComponent.propDecorators = {
11732
11810
  noResultsLabel: [{ type: Input }],
11733
11811
  sliderDefaultMin: [{ type: Input }],
11734
11812
  sliderDefaultMax: [{ type: Input }],
11813
+ fullRangeIsNull: [{ type: Input }],
11735
11814
  model: [{ type: Input }],
11736
11815
  modelChange: [{ type: Output }],
11737
11816
  collectionChange: [{ type: Output }],