ngx-ode-ui 3.13.0-dev.3 → 4.1.0-feat-produit.0

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 (35) hide show
  1. package/bundles/ngx-ode-ui.umd.js +353 -9
  2. package/bundles/ngx-ode-ui.umd.js.map +1 -1
  3. package/bundles/ngx-ode-ui.umd.min.js +1 -1
  4. package/bundles/ngx-ode-ui.umd.min.js.map +1 -1
  5. package/esm2015/lib/components/dropdown/dropdown.component.js +76 -0
  6. package/esm2015/lib/components/list/list.component.js +18 -4
  7. package/esm2015/lib/components/list-checkable/list-checkable.component.js +137 -0
  8. package/esm2015/lib/components/multi-combo/multi-combo.component.js +2 -2
  9. package/esm2015/lib/components/search-input/search-input.component.js +15 -3
  10. package/esm2015/lib/components/search-toolbar/search-toolbar.component.js +84 -0
  11. package/esm2015/lib/ngx-ode-ui.module.js +11 -2
  12. package/esm2015/ngx-ode-ui.js +4 -2
  13. package/esm2015/public-api.js +2 -1
  14. package/esm5/lib/components/dropdown/dropdown.component.js +81 -0
  15. package/esm5/lib/components/list/list.component.js +18 -4
  16. package/esm5/lib/components/list-checkable/list-checkable.component.js +148 -0
  17. package/esm5/lib/components/multi-combo/multi-combo.component.js +2 -2
  18. package/esm5/lib/components/search-input/search-input.component.js +16 -5
  19. package/esm5/lib/components/search-toolbar/search-toolbar.component.js +93 -0
  20. package/esm5/lib/ngx-ode-ui.module.js +11 -2
  21. package/esm5/ngx-ode-ui.js +4 -2
  22. package/esm5/public-api.js +2 -1
  23. package/fesm2015/ngx-ode-ui.js +331 -8
  24. package/fesm2015/ngx-ode-ui.js.map +1 -1
  25. package/fesm5/ngx-ode-ui.js +351 -10
  26. package/fesm5/ngx-ode-ui.js.map +1 -1
  27. package/lib/components/dropdown/dropdown.component.d.ts +36 -0
  28. package/lib/components/list/list.component.d.ts +5 -1
  29. package/lib/components/list-checkable/list-checkable.component.d.ts +55 -0
  30. package/lib/components/search-input/search-input.component.d.ts +3 -0
  31. package/lib/components/search-toolbar/search-toolbar.component.d.ts +34 -0
  32. package/ngx-ode-ui.d.ts +2 -0
  33. package/ngx-ode-ui.metadata.json +1 -1
  34. package/package.json +1 -1
  35. package/public-api.d.ts +1 -0
@@ -1574,9 +1574,11 @@
1574
1574
  /* Store pipe */
1575
1575
  _this.self = _this;
1576
1576
  _this._storedElements = [];
1577
- _this.model = [];
1578
1577
  _this.searchPlaceholder = 'search';
1579
1578
  _this.noResultsLabel = 'list.results.no.items';
1579
+ _this.placeholder = 'list.placeholder';
1580
+ _this.isSearchActive = true;
1581
+ _this.searchInput = false;
1580
1582
  _this.inputChange = new core.EventEmitter();
1581
1583
  _this.onSelect = new core.EventEmitter();
1582
1584
  _this.listChange = new core.EventEmitter();
@@ -1619,8 +1621,8 @@
1619
1621
  ListComponent.decorators = [
1620
1622
  { type: core.Component, args: [{
1621
1623
  selector: 'ode-list',
1622
- template: "<ode-search-input [attr.placeholder]=\"searchPlaceholder | translate\" (onChange)=\"inputChange.emit($event)\"></ode-search-input>\n<div class=\"toolbar\">\n <ng-content select=\"[toolbar]\"></ng-content>\n</div>\n<div class=\"list-wrapper\"\n infiniteScroll\n [scrollWindow]=\"false\"\n (scrolled)=\"scrolledDown.emit()\"\n [infiniteScrollThrottle]=\"50\">\n <ul>\n <li *ngFor=\"let item of model | filter: filters | filter: inputFilter | store:self:'storedElements' | orderBy: sort | slice: 0:limit\"\n (click)=\"onSelect.emit(item)\"\n [class.selected]=\"isSelected(item)\"\n [class.disabled]=\"isDisabled(item)\"\n [ngClass]=\"ngClass(item)\"\n class=\"lct-list-item\">\n <ng-template [ngTemplateOutlet]=\"templateRef\" [ngTemplateOutletContext]=\"{$implicit: item}\">\n </ng-template>\n </li>\n </ul>\n <ul *ngIf=\"storedElements && storedElements.length === 0\">\n <li class=\"no-results\">{{ noResultsLabel | translate }}</li>\n </ul>\n</div>\n",
1623
- styles: ["ul{margin:0;padding:0;font-size:.9em}ul li{cursor:pointer;border-top:1px solid #ddd;padding:10px}ul li.disabled{pointer-events:none}"]
1624
+ template: "<ode-search-input\n *ngIf=\"isSearchActive\"\n [searchInput]=\"searchInput\"\n [searchSubmit]=\"searchSubmit\"\n [attr.placeholder]=\"searchPlaceholder | translate\"\n (onChange)=\"inputChange.emit($event)\"></ode-search-input>\n<div class=\"toolbar\">\n <ng-content select=\"[toolbar]\"></ng-content>\n</div>\n<div class=\"list-wrapper\"\n infiniteScroll\n [scrollWindow]=\"false\"\n (scrolled)=\"scrolledDown.emit()\"\n [infiniteScrollThrottle]=\"50\">\n <ul>\n <li *ngFor=\"let item of model | filter: filters | filter: inputFilter | store:self:'storedElements' | orderBy: sort | slice: 0:limit\"\n (click)=\"onSelect.emit(item)\"\n [class.selected]=\"isSelected(item)\"\n [class.disabled]=\"isDisabled(item)\"\n [ngClass]=\"ngClass(item)\"\n class=\"lct-list-item\">\n <ng-template [ngTemplateOutlet]=\"templateRef\" [ngTemplateOutletContext]=\"{$implicit: item}\">\n </ng-template>\n </li>\n </ul>\n <ul *ngIf=\"storedElements && storedElements.length === 0\">\n <li class=\"no-results\">{{ noResultsLabel | translate }}</li>\n </ul>\n <ul *ngIf=\"!model\">\n <li class=\"placeholder\">{{ placeholder | translate }}</li>\n </ul>\n</div>\n",
1625
+ styles: ["ul{margin:0;padding:0;font-size:.9em}ul li{cursor:pointer;border-top:1px solid #ddd;padding:10px}ul li.no-results{padding:50px;text-align:center;font-style:italic}ul li.no-results:hover{cursor:default!important;background-color:inherit!important}ul li.placeholder{color:#aaa;padding:2rem;text-align:left}ul li.placeholder:hover{cursor:default!important;background-color:inherit!important}ul li.disabled{pointer-events:none}"]
1624
1626
  }] }
1625
1627
  ];
1626
1628
  /** @nocollapse */
@@ -1635,6 +1637,10 @@
1635
1637
  limit: [{ type: core.Input }],
1636
1638
  searchPlaceholder: [{ type: core.Input }],
1637
1639
  noResultsLabel: [{ type: core.Input }],
1640
+ placeholder: [{ type: core.Input }],
1641
+ isSearchActive: [{ type: core.Input }],
1642
+ searchInput: [{ type: core.Input }],
1643
+ searchSubmit: [{ type: core.Input }],
1638
1644
  inputChange: [{ type: core.Output }],
1639
1645
  onSelect: [{ type: core.Output }],
1640
1646
  listChange: [{ type: core.Output }],
@@ -1666,6 +1672,14 @@
1666
1672
  /** @type {?} */
1667
1673
  ListComponent.prototype.noResultsLabel;
1668
1674
  /** @type {?} */
1675
+ ListComponent.prototype.placeholder;
1676
+ /** @type {?} */
1677
+ ListComponent.prototype.isSearchActive;
1678
+ /** @type {?} */
1679
+ ListComponent.prototype.searchInput;
1680
+ /** @type {?} */
1681
+ ListComponent.prototype.searchSubmit;
1682
+ /** @type {?} */
1669
1683
  ListComponent.prototype.inputChange;
1670
1684
  /** @type {?} */
1671
1685
  ListComponent.prototype.onSelect;
@@ -1683,6 +1697,150 @@
1683
1697
  ListComponent.prototype.ngClass;
1684
1698
  }
1685
1699
 
1700
+ /**
1701
+ * @fileoverview added by tsickle
1702
+ * Generated from: lib/components/list-checkable/list-checkable.component.ts
1703
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1704
+ */
1705
+ var ListCheckableComponent = /** @class */ (function (_super) {
1706
+ __extends(ListCheckableComponent, _super);
1707
+ function ListCheckableComponent(injector) {
1708
+ var _this = _super.call(this, injector) || this;
1709
+ _this.model = [];
1710
+ _this.noResultsLabel = 'list.results.no.items';
1711
+ _this.readOnly = false;
1712
+ _this.onCheck = new core.EventEmitter();
1713
+ _this.listChange = new core.EventEmitter();
1714
+ _this.scrolledDown = new core.EventEmitter();
1715
+ _this.areAllChecked = (/**
1716
+ * @return {?}
1717
+ */
1718
+ function () { return false; });
1719
+ _this.isChecked = (/**
1720
+ * @param {?=} arg
1721
+ * @return {?}
1722
+ */
1723
+ function (arg) { return false; });
1724
+ _this.isDisabled = (/**
1725
+ * @param {?=} arg
1726
+ * @return {?}
1727
+ */
1728
+ function (arg) { return false; });
1729
+ _this.ngClass = (/**
1730
+ * @param {?=} arg
1731
+ * @return {?}
1732
+ */
1733
+ function (arg) { return ({}); });
1734
+ /* Store pipe */
1735
+ _this.self = _this;
1736
+ _this._storedElements = [];
1737
+ return _this;
1738
+ }
1739
+ Object.defineProperty(ListCheckableComponent.prototype, "storedElements", {
1740
+ get: /**
1741
+ * @return {?}
1742
+ */
1743
+ function () {
1744
+ return this._storedElements;
1745
+ },
1746
+ set: /**
1747
+ * @param {?} list
1748
+ * @return {?}
1749
+ */
1750
+ function (list) {
1751
+ this._storedElements = list;
1752
+ this.listChange.emit(list);
1753
+ },
1754
+ enumerable: true,
1755
+ configurable: true
1756
+ });
1757
+ /**
1758
+ * @param {?} checkAll
1759
+ * @return {?}
1760
+ */
1761
+ ListCheckableComponent.prototype.toggleAll = /**
1762
+ * @param {?} checkAll
1763
+ * @return {?}
1764
+ */
1765
+ function (checkAll) {
1766
+ var _this = this;
1767
+ this.model.forEach((/**
1768
+ * @param {?} item
1769
+ * @return {?}
1770
+ */
1771
+ function (item) {
1772
+ /** @type {?} */
1773
+ var isChecked = _this.isChecked(item);
1774
+ if (!_this.isDisabled(item)
1775
+ && ((isChecked && !checkAll) || (!isChecked && checkAll))) {
1776
+ _this.onCheck.emit({ item: item, checked: checkAll });
1777
+ }
1778
+ }));
1779
+ };
1780
+ ListCheckableComponent.decorators = [
1781
+ { type: core.Component, args: [{
1782
+ selector: 'ode-list-checkable',
1783
+ template: "<div class=\"list-checkable-wrapper\"\n infiniteScroll\n [scrollWindow]=\"false\"\n (scrolled)=\"scrolledDown.emit()\"\n [infiniteScrollThrottle]=\"50\">\n\n <ul *ngIf=\"storedElements && storedElements.length === 0\">\n <li class=\"no-results\"><span>{{ noResultsLabel | translate }}</span></li>\n </ul>\n \n <ul>\n <li class=\"select-all\" \n [class.checked]=\"areAllChecked()\"\n *ngIf=\"!readOnly\">\n <label>\n <span>{{(areAllChecked() ? 'ux.multiselect.deselect-all' : 'ux.multiselect.select-all') | translate}}</span>\n <input type=\"checkbox\" [checked]=\"areAllChecked()\" (change)=\"toggleAll($event.target.checked)\" />\n </label>\n </li>\n\n <li class=\"lct-list-checkable-item\" \n [class.checked]=\"isChecked(item)\"\n [class.disabled]=\"isDisabled(item)\"\n [ngClass]=\"ngClass(item)\"\n *ngFor=\"let item of model | filter: filters | store:self:'storedElements' | orderBy: sort | slice: 0:limit\">\n <label>\n <span>\n <ng-template [ngTemplateOutlet]=\"templateRef\" [ngTemplateOutletContext]=\"{$implicit: item}\"></ng-template> \n </span>\n <input *ngIf=\"!readOnly\" type=\"checkbox\" \n [disabled]=\"isDisabled(item)\"\n [checked]=\"isChecked(item)\"\n (change)=\"onCheck.emit({item:item, checked:$event.target.checked})\"/>\n </label>\n </li>\n </ul>\n\n</div>\n",
1784
+ styles: ["ul{margin:0;padding:0;font-size:.9em}ul li{border-top:1px solid #ddd;width:-webkit-fill-available;width:-moz-available;display:flex}ul li:not(.checked){color:#939393}ul li.disabled{pointer-events:none}ul li.select-all{background-color:#ff83520a;color:#5b6472}ul li.select-all span{text-align:right}ul li label{cursor:pointer;width:100%;display:flex}ul li label:hover{background-color:#eaedf2}ul li label span{padding:7px 15px;width:100%}ul li label input[type=checkbox]{margin-right:15px;-ms-grid-row-align:center;align-self:center}"]
1785
+ }] }
1786
+ ];
1787
+ /** @nocollapse */
1788
+ ListCheckableComponent.ctorParameters = function () { return [
1789
+ { type: core.Injector }
1790
+ ]; };
1791
+ ListCheckableComponent.propDecorators = {
1792
+ model: [{ type: core.Input }],
1793
+ filters: [{ type: core.Input }],
1794
+ sort: [{ type: core.Input }],
1795
+ limit: [{ type: core.Input }],
1796
+ noResultsLabel: [{ type: core.Input }],
1797
+ readOnly: [{ type: core.Input }],
1798
+ onCheck: [{ type: core.Output }],
1799
+ listChange: [{ type: core.Output }],
1800
+ scrolledDown: [{ type: core.Output }],
1801
+ templateRef: [{ type: core.ContentChild, args: [core.TemplateRef, { static: false },] }],
1802
+ areAllChecked: [{ type: core.Input }],
1803
+ isChecked: [{ type: core.Input }],
1804
+ isDisabled: [{ type: core.Input }],
1805
+ ngClass: [{ type: core.Input }]
1806
+ };
1807
+ return ListCheckableComponent;
1808
+ }(ngxOdeCore.OdeComponent));
1809
+ if (false) {
1810
+ /** @type {?} */
1811
+ ListCheckableComponent.prototype.model;
1812
+ /** @type {?} */
1813
+ ListCheckableComponent.prototype.filters;
1814
+ /** @type {?} */
1815
+ ListCheckableComponent.prototype.sort;
1816
+ /** @type {?} */
1817
+ ListCheckableComponent.prototype.limit;
1818
+ /** @type {?} */
1819
+ ListCheckableComponent.prototype.noResultsLabel;
1820
+ /** @type {?} */
1821
+ ListCheckableComponent.prototype.readOnly;
1822
+ /** @type {?} */
1823
+ ListCheckableComponent.prototype.onCheck;
1824
+ /** @type {?} */
1825
+ ListCheckableComponent.prototype.listChange;
1826
+ /** @type {?} */
1827
+ ListCheckableComponent.prototype.scrolledDown;
1828
+ /** @type {?} */
1829
+ ListCheckableComponent.prototype.templateRef;
1830
+ /** @type {?} */
1831
+ ListCheckableComponent.prototype.areAllChecked;
1832
+ /** @type {?} */
1833
+ ListCheckableComponent.prototype.isChecked;
1834
+ /** @type {?} */
1835
+ ListCheckableComponent.prototype.isDisabled;
1836
+ /** @type {?} */
1837
+ ListCheckableComponent.prototype.ngClass;
1838
+ /** @type {?} */
1839
+ ListCheckableComponent.prototype.self;
1840
+ /** @type {?} */
1841
+ ListCheckableComponent.prototype._storedElements;
1842
+ }
1843
+
1686
1844
  /**
1687
1845
  * @fileoverview added by tsickle
1688
1846
  * Generated from: lib/components/message-box/message-box.component.ts
@@ -2494,7 +2652,7 @@
2494
2652
  MultiComboComponent.decorators = [
2495
2653
  { type: core.Component, args: [{
2496
2654
  selector: 'ode-multi-combo',
2497
- template: "<button (click)=\"toggleVisibility()\"\n [ngClass]=\"{ opened: show }\"\n [disabled]=\"disabled\">\n {{ title }}\n</button>\n<div [ngClass]=\"{ hidden: !show }\">\n <div class=\"options\">\n <button class=\"select-all\" (click)=\"selectAll()\" *ngIf=\"!maxSelected\"\n [title]=\"labels('select.all')\">{{ labels('select.all') }}</button>\n <button class=\"deselect-all\" (click)=\"deselectAll()\"\n [title]=\"labels('deselect.all')\">{{ labels('deselect.all') }}</button>\n </div>\n <div *ngIf=\"filter\" class=\"filter\">\n <ode-search-input (onChange)=\"search.input = $event\" [attr.placeholder]=\"labels('search')\"></ode-search-input>\n </div>\n <ul>\n <li *ngFor=\"let item of _comboModel | filter: getFilter() | orderBy: orderBy | store: self:'filteredComboModel'\"\n (click)=\"toggleItem(item)\"\n [ngClass]=\"{ selected: isSelected(item) }\"\n [attr.disabled]=\"isDisabled()\">\n {{ displayItem(item) | translate }}\n </li>\n </ul>\n</div>\n",
2655
+ template: "<button (click)=\"toggleVisibility()\"\n [ngClass]=\"{ opened: show }\"\n [disabled]=\"disabled\"\n type=\"button\">\n {{ title }}\n</button>\n<div [ngClass]=\"{ hidden: !show }\">\n <div class=\"options\">\n <button class=\"select-all\" (click)=\"selectAll()\" *ngIf=\"!maxSelected\"\n [title]=\"labels('select.all')\" type=\"button\">{{ labels('select.all') }}</button>\n <button class=\"deselect-all\" (click)=\"deselectAll()\"\n [title]=\"labels('deselect.all')\" type=\"button\">{{ labels('deselect.all') }}</button>\n </div>\n <div *ngIf=\"filter\" class=\"filter\">\n <ode-search-input (onChange)=\"search.input = $event\" [attr.placeholder]=\"labels('search')\"></ode-search-input>\n </div>\n <ul>\n <li *ngFor=\"let item of _comboModel | filter: getFilter() | orderBy: orderBy | store: self:'filteredComboModel'\"\n (click)=\"toggleItem(item)\"\n [ngClass]=\"{ selected: isSelected(item) }\"\n [attr.disabled]=\"isDisabled()\">\n {{ displayItem(item) | translate }}\n </li>\n </ul>\n</div>\n",
2498
2656
  host: {
2499
2657
  '(document:click)': 'onClick($event)',
2500
2658
  },
@@ -2985,6 +3143,9 @@
2985
3143
  var _this = _super.call(this, injector) || this;
2986
3144
  _this._elRef = _elRef;
2987
3145
  _this._renderer = _renderer;
3146
+ /* Inputs / Outputs / View */
3147
+ _this.isSearchActive = false;
3148
+ _this.searchInput = false;
2988
3149
  _this._delay = 200;
2989
3150
  _this.onChange = new core.EventEmitter();
2990
3151
  /* Internal logic */
@@ -2998,9 +3159,7 @@
2998
3159
  function () {
2999
3160
  return this._delay;
3000
3161
  },
3001
- /* Inputs / Outputs / View */
3002
- set: /* Inputs / Outputs / View */
3003
- /**
3162
+ set: /**
3004
3163
  * @param {?} d
3005
3164
  * @return {?}
3006
3165
  */
@@ -3090,7 +3249,8 @@
3090
3249
  SearchInputComponent.decorators = [
3091
3250
  { type: core.Component, args: [{
3092
3251
  selector: 'ode-search-input',
3093
- template: "<input type=\"search\" #searchBox (input)=\"search(searchBox.value)\"/>\n"
3252
+ template: "<form\n class=\"search-container\"\n (ngSubmit)=\"searchInput && searchSubmit()\">\n <input\n #searchBox\n class=\"search-input\"\n name=\"searchTerm\"\n type=\"search\"\n (input)=\"search(searchBox.value)\" />\n <button class=\"search-button\" *ngIf=\"searchInput\">\n <i class=\"fa fa-search is-size-4 search-icon\"></i>\n </button>\n</form>\n\n<!-- <input *ngIf=\"!searchInput\" type=\"search\" #searchBox (input)=\"search(searchBox.value)\"/> -->",
3253
+ styles: [":host .search-container{margin:0;display:flex}:host .search-icon{padding-left:0}:host .search-button{margin:0;background:#ff8352;color:#fff}"]
3094
3254
  }] }
3095
3255
  ];
3096
3256
  /** @nocollapse */
@@ -3100,6 +3260,9 @@
3100
3260
  { type: core.Renderer2 }
3101
3261
  ]; };
3102
3262
  SearchInputComponent.propDecorators = {
3263
+ isSearchActive: [{ type: core.Input }],
3264
+ searchInput: [{ type: core.Input }],
3265
+ searchSubmit: [{ type: core.Input }],
3103
3266
  delay: [{ type: core.Input }],
3104
3267
  onChange: [{ type: core.Output }],
3105
3268
  searchBox: [{ type: core.ViewChild, args: ['searchBox', { static: false },] }]
@@ -3107,6 +3270,12 @@
3107
3270
  return SearchInputComponent;
3108
3271
  }(ngxOdeCore.OdeComponent));
3109
3272
  if (false) {
3273
+ /** @type {?} */
3274
+ SearchInputComponent.prototype.isSearchActive;
3275
+ /** @type {?} */
3276
+ SearchInputComponent.prototype.searchInput;
3277
+ /** @type {?} */
3278
+ SearchInputComponent.prototype.searchSubmit;
3110
3279
  /**
3111
3280
  * @type {?}
3112
3281
  * @private
@@ -5191,6 +5360,172 @@
5191
5360
  return el.triggerEventHandler('click', null);
5192
5361
  }
5193
5362
 
5363
+ /**
5364
+ * @fileoverview added by tsickle
5365
+ * Generated from: lib/components/dropdown/dropdown.component.ts
5366
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5367
+ */
5368
+ /**
5369
+ * DropdownComponent is an alternative to the MonoSelectComponent.
5370
+ * Accept everything inside <ng-content> but should work with <ode-list> component
5371
+ *
5372
+ * Simple Dropdown Component without search:
5373
+ * [isSearchActive] can be set to false to disable search input in <ode-list>
5374
+ * ```
5375
+ * <ode-dropdown
5376
+ * [name]="option_name"
5377
+ * [isDropdownOpened]="a_boolean"
5378
+ * (onDropdown)="toggle_func"
5379
+ * >
5380
+ * <ode-list
5381
+ * [model]="model"
5382
+ * [filters]="filters"
5383
+ * (onSelect)="func_to_select_elem($event)"
5384
+ * (inputChange)="a_string_for_input_value = $event"
5385
+ * noResultsLabel="text_to_display"
5386
+ * searchPlaceholder="default_placeholder_text"
5387
+ * >
5388
+ * <ng-template let-item>
5389
+ * <div>{{ item.name }}</div>
5390
+ * </ng-template>
5391
+ * </ode-list>
5392
+ * </ode-dropdown>
5393
+ * `̀``
5394
+ */
5395
+ var DropdownComponent = /** @class */ (function (_super) {
5396
+ __extends(DropdownComponent, _super);
5397
+ function DropdownComponent(injector) {
5398
+ var _this = _super.call(this, injector) || this;
5399
+ _this.name = '';
5400
+ _this.isDropdownOpened = false;
5401
+ _this.onDropdown = new core.EventEmitter();
5402
+ return _this;
5403
+ }
5404
+ /**
5405
+ * @return {?}
5406
+ */
5407
+ DropdownComponent.prototype.ngOnInit = /**
5408
+ * @return {?}
5409
+ */
5410
+ function () {
5411
+ _super.prototype.ngOnInit.call(this);
5412
+ };
5413
+ DropdownComponent.decorators = [
5414
+ { type: core.Component, args: [{
5415
+ selector: 'ode-dropdown',
5416
+ template: "<div class=\"dropdown\" [ngClass]=\"isDropdownOpened ? 'open' : ''\">\n <button (click)=\"onDropdown.emit()\" class=\"dropdown-trigger\">\n <span class=\"cell-ellipsis\">{{ name }}</span> <i class=\"fonticon arrow-select\"></i>\n </button>\n <div class=\"dropdown-list\">\n <ng-content></ng-content>\n </div>\n</div>\n",
5417
+ styles: [".dropdown{position:relative;width:230px;box-sizing:border-box}.dropdown *{box-sizing:border-box}.dropdown-trigger{cursor:pointer;display:inline-flex;align-items:center;justify-content:space-between;padding:12px 16px;font-size:14px;color:#4a4a4a;text-transform:uppercase;text-align:left;width:100%;border-radius:8px;border:1px solid #7a7a7a;background-color:#fff}.dropdown-trigger>span{display:inline-block;max-width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dropdown-trigger i.arrow-select{display:inline-block;float:none!important;padding-left:0;transform:rotate(180deg);transform-origin:center center}.dropdown-trigger:hover{color:#4a4a4a;border-color:#7a7a7a;background-color:#fff}.dropdown-trigger:hover i.arrow-select{color:#4a4a4a!important}.dropdown-list{display:none;position:absolute;overflow:hidden;z-index:2;top:100%;left:0;right:0;width:316px;box-shadow:0 4px 12px 0 rgba(0,0,0,.15);border-radius:8px;background-color:#fff}.dropdown::ng-deep ode-list li{justify-content:flex-start}.dropdown::ng-deep ode-list input[type=search]{padding:12px 16px}.dropdown.open .dropdown-list{display:block}.dropdown.open i.arrow-select{transform:rotate(0)}"]
5418
+ }] }
5419
+ ];
5420
+ /** @nocollapse */
5421
+ DropdownComponent.ctorParameters = function () { return [
5422
+ { type: core.Injector }
5423
+ ]; };
5424
+ DropdownComponent.propDecorators = {
5425
+ name: [{ type: core.Input }],
5426
+ isDropdownOpened: [{ type: core.Input }],
5427
+ onDropdown: [{ type: core.Output }]
5428
+ };
5429
+ return DropdownComponent;
5430
+ }(ngxOdeCore.OdeComponent));
5431
+ if (false) {
5432
+ /** @type {?} */
5433
+ DropdownComponent.prototype.name;
5434
+ /** @type {?} */
5435
+ DropdownComponent.prototype.isDropdownOpened;
5436
+ /** @type {?} */
5437
+ DropdownComponent.prototype.onDropdown;
5438
+ }
5439
+
5440
+ /**
5441
+ * @fileoverview added by tsickle
5442
+ * Generated from: lib/components/search-toolbar/search-toolbar.component.ts
5443
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5444
+ */
5445
+ /**
5446
+ * Search Toolbar component.
5447
+ * Used within List component, Search Toolbar will display following information:
5448
+ * - Label of the search filter section (example: 'Search by')
5449
+ * - List of search type filters (example: 'Name', 'Email' , ...)
5450
+ * - Number of items returned by the search
5451
+ *
5452
+ * ```
5453
+ * <ode-search-toolbar
5454
+ * [label]="'user.searchType.label'"
5455
+ * [searchTypes]="searchTypes"
5456
+ * [nbItem]="nbUser || 0"
5457
+ * [nbItemLabel]="'list.results.users'"
5458
+ * (selectSearchType)="handleSelectSearchType($event)"
5459
+ * >
5460
+ * </ode-search-toolbar>
5461
+ * ```
5462
+ */
5463
+ var SearchToolbarComponent = /** @class */ (function (_super) {
5464
+ __extends(SearchToolbarComponent, _super);
5465
+ function SearchToolbarComponent(injector) {
5466
+ var _this = _super.call(this, injector) || this;
5467
+ _this.nbItem = 0;
5468
+ _this.selectSearchType = new core.EventEmitter();
5469
+ return _this;
5470
+ }
5471
+ /**
5472
+ * @return {?}
5473
+ */
5474
+ SearchToolbarComponent.prototype.ngOnInit = /**
5475
+ * @return {?}
5476
+ */
5477
+ function () {
5478
+ if (this.searchTypes && this.searchTypes.length > 0) {
5479
+ this.selectedSearchTypeValue = this.searchTypes[0].value;
5480
+ }
5481
+ };
5482
+ /**
5483
+ * @param {?} searchTypeValue
5484
+ * @return {?}
5485
+ */
5486
+ SearchToolbarComponent.prototype.handleSearchTypeClick = /**
5487
+ * @param {?} searchTypeValue
5488
+ * @return {?}
5489
+ */
5490
+ function (searchTypeValue) {
5491
+ this.selectedSearchTypeValue = searchTypeValue;
5492
+ this.selectSearchType.emit(searchTypeValue);
5493
+ };
5494
+ SearchToolbarComponent.decorators = [
5495
+ { type: core.Component, args: [{
5496
+ selector: 'ode-search-toolbar',
5497
+ template: "<div class=\"search-toolbar\">\n <div class=\"search-toolbar-label\">\n <s5l>{{ label }}</s5l>\n <button\n *ngFor=\"let searchType of searchTypes\"\n class=\"button has-left-margin-5\"\n [ngClass]=\"{\n 'is-selected': searchType.value === selectedSearchTypeValue\n }\"\n (click)=\"handleSearchTypeClick(searchType.value)\"\n >\n <s5l>{{ searchType.label }}</s5l>\n </button>\n </div>\n <div>\n <strong class=\"badge\">{{ nbItem }} <s5l>{{ nbItemLabel }}</s5l></strong>\n </div>\n</div>\n",
5498
+ styles: [".search-toolbar{display:flex;align-items:center;justify-content:space-between;padding:15px}.search-toolbar .search-toolbar-label{font-size:.85rem}.search-toolbar .search-toolbar-label .button{padding:4px 12px;border-radius:20px;font-size:12px;border-width:2px;border-color:#ff8d2e}"]
5499
+ }] }
5500
+ ];
5501
+ /** @nocollapse */
5502
+ SearchToolbarComponent.ctorParameters = function () { return [
5503
+ { type: core.Injector }
5504
+ ]; };
5505
+ SearchToolbarComponent.propDecorators = {
5506
+ label: [{ type: core.Input }],
5507
+ searchTypes: [{ type: core.Input }],
5508
+ nbItem: [{ type: core.Input }],
5509
+ nbItemLabel: [{ type: core.Input }],
5510
+ selectSearchType: [{ type: core.Output }]
5511
+ };
5512
+ return SearchToolbarComponent;
5513
+ }(ngxOdeCore.OdeComponent));
5514
+ if (false) {
5515
+ /** @type {?} */
5516
+ SearchToolbarComponent.prototype.label;
5517
+ /** @type {?} */
5518
+ SearchToolbarComponent.prototype.searchTypes;
5519
+ /** @type {?} */
5520
+ SearchToolbarComponent.prototype.nbItem;
5521
+ /** @type {?} */
5522
+ SearchToolbarComponent.prototype.nbItemLabel;
5523
+ /** @type {?} */
5524
+ SearchToolbarComponent.prototype.selectSearchType;
5525
+ /** @type {?} */
5526
+ SearchToolbarComponent.prototype.selectedSearchTypeValue;
5527
+ }
5528
+
5194
5529
  /**
5195
5530
  * @fileoverview added by tsickle
5196
5531
  * Generated from: lib/ngx-ode-ui.module.ts
@@ -5239,6 +5574,7 @@
5239
5574
  LightBoxComponent,
5240
5575
  LightboxConfirmComponent,
5241
5576
  ListComponent,
5577
+ ListCheckableComponent,
5242
5578
  MonoSelectComponent,
5243
5579
  MultiSelectComponent,
5244
5580
  MultiComboComponent,
@@ -5273,7 +5609,9 @@
5273
5609
  LocalizedDatePipe,
5274
5610
  BytesPipe,
5275
5611
  KeysPipe,
5276
- LengthPipe
5612
+ LengthPipe,
5613
+ DropdownComponent,
5614
+ SearchToolbarComponent
5277
5615
  ],
5278
5616
  imports: [
5279
5617
  common.CommonModule,
@@ -5290,6 +5628,7 @@
5290
5628
  LightBoxComponent,
5291
5629
  LightboxConfirmComponent,
5292
5630
  ListComponent,
5631
+ ListCheckableComponent,
5293
5632
  MonoSelectComponent,
5294
5633
  MultiSelectComponent,
5295
5634
  MultiComboComponent,
@@ -5309,6 +5648,8 @@
5309
5648
  SpinnerCubeComponent,
5310
5649
  PagerComponent,
5311
5650
  EllipsisComponent,
5651
+ DropdownComponent,
5652
+ SearchToolbarComponent,
5312
5653
  // directives
5313
5654
  AnchorDirective,
5314
5655
  DynamicTemplateDirective,
@@ -5355,6 +5696,7 @@
5355
5696
  exports.LightBoxComponent = LightBoxComponent;
5356
5697
  exports.LightboxConfirmComponent = LightboxConfirmComponent;
5357
5698
  exports.LimitPipe = LimitPipe;
5699
+ exports.ListCheckableComponent = ListCheckableComponent;
5358
5700
  exports.ListComponent = ListComponent;
5359
5701
  exports.LocalizedDatePipe = LocalizedDatePipe;
5360
5702
  exports.MessageBoxComponent = MessageBoxComponent;
@@ -5389,6 +5731,8 @@
5389
5731
  exports.standardise = standardise;
5390
5732
  exports.toDecimal = toDecimal;
5391
5733
  exports.trim = trim;
5734
+ exports.ɵa = DropdownComponent;
5735
+ exports.ɵb = SearchToolbarComponent;
5392
5736
 
5393
5737
  Object.defineProperty(exports, '__esModule', { value: true });
5394
5738