ngx-ode-ui 3.13.0-dev.3 → 4.3.0-feat-produit.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 (35) hide show
  1. package/bundles/ngx-ode-ui.umd.js +361 -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 +22 -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 +19 -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 +22 -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 +20 -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 +339 -8
  24. package/fesm2015/ngx-ode-ui.js.map +1 -1
  25. package/fesm5/ngx-ode-ui.js +359 -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 +6 -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 +4 -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,12 @@
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.isSearchButtonDisabled = false;
1582
+ _this.searchInput = false;
1580
1583
  _this.inputChange = new core.EventEmitter();
1581
1584
  _this.onSelect = new core.EventEmitter();
1582
1585
  _this.listChange = new core.EventEmitter();
@@ -1619,8 +1622,8 @@
1619
1622
  ListComponent.decorators = [
1620
1623
  { type: core.Component, args: [{
1621
1624
  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}"]
1625
+ template: "<ode-search-input\n *ngIf=\"isSearchActive\"\n [isSearchButtonDisabled]=\"isSearchButtonDisabled\"\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",
1626
+ 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
1627
  }] }
1625
1628
  ];
1626
1629
  /** @nocollapse */
@@ -1635,6 +1638,11 @@
1635
1638
  limit: [{ type: core.Input }],
1636
1639
  searchPlaceholder: [{ type: core.Input }],
1637
1640
  noResultsLabel: [{ type: core.Input }],
1641
+ placeholder: [{ type: core.Input }],
1642
+ isSearchActive: [{ type: core.Input }],
1643
+ isSearchButtonDisabled: [{ type: core.Input }],
1644
+ searchInput: [{ type: core.Input }],
1645
+ searchSubmit: [{ type: core.Input }],
1638
1646
  inputChange: [{ type: core.Output }],
1639
1647
  onSelect: [{ type: core.Output }],
1640
1648
  listChange: [{ type: core.Output }],
@@ -1666,6 +1674,16 @@
1666
1674
  /** @type {?} */
1667
1675
  ListComponent.prototype.noResultsLabel;
1668
1676
  /** @type {?} */
1677
+ ListComponent.prototype.placeholder;
1678
+ /** @type {?} */
1679
+ ListComponent.prototype.isSearchActive;
1680
+ /** @type {?} */
1681
+ ListComponent.prototype.isSearchButtonDisabled;
1682
+ /** @type {?} */
1683
+ ListComponent.prototype.searchInput;
1684
+ /** @type {?} */
1685
+ ListComponent.prototype.searchSubmit;
1686
+ /** @type {?} */
1669
1687
  ListComponent.prototype.inputChange;
1670
1688
  /** @type {?} */
1671
1689
  ListComponent.prototype.onSelect;
@@ -1683,6 +1701,150 @@
1683
1701
  ListComponent.prototype.ngClass;
1684
1702
  }
1685
1703
 
1704
+ /**
1705
+ * @fileoverview added by tsickle
1706
+ * Generated from: lib/components/list-checkable/list-checkable.component.ts
1707
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1708
+ */
1709
+ var ListCheckableComponent = /** @class */ (function (_super) {
1710
+ __extends(ListCheckableComponent, _super);
1711
+ function ListCheckableComponent(injector) {
1712
+ var _this = _super.call(this, injector) || this;
1713
+ _this.model = [];
1714
+ _this.noResultsLabel = 'list.results.no.items';
1715
+ _this.readOnly = false;
1716
+ _this.onCheck = new core.EventEmitter();
1717
+ _this.listChange = new core.EventEmitter();
1718
+ _this.scrolledDown = new core.EventEmitter();
1719
+ _this.areAllChecked = (/**
1720
+ * @return {?}
1721
+ */
1722
+ function () { return false; });
1723
+ _this.isChecked = (/**
1724
+ * @param {?=} arg
1725
+ * @return {?}
1726
+ */
1727
+ function (arg) { return false; });
1728
+ _this.isDisabled = (/**
1729
+ * @param {?=} arg
1730
+ * @return {?}
1731
+ */
1732
+ function (arg) { return false; });
1733
+ _this.ngClass = (/**
1734
+ * @param {?=} arg
1735
+ * @return {?}
1736
+ */
1737
+ function (arg) { return ({}); });
1738
+ /* Store pipe */
1739
+ _this.self = _this;
1740
+ _this._storedElements = [];
1741
+ return _this;
1742
+ }
1743
+ Object.defineProperty(ListCheckableComponent.prototype, "storedElements", {
1744
+ get: /**
1745
+ * @return {?}
1746
+ */
1747
+ function () {
1748
+ return this._storedElements;
1749
+ },
1750
+ set: /**
1751
+ * @param {?} list
1752
+ * @return {?}
1753
+ */
1754
+ function (list) {
1755
+ this._storedElements = list;
1756
+ this.listChange.emit(list);
1757
+ },
1758
+ enumerable: true,
1759
+ configurable: true
1760
+ });
1761
+ /**
1762
+ * @param {?} checkAll
1763
+ * @return {?}
1764
+ */
1765
+ ListCheckableComponent.prototype.toggleAll = /**
1766
+ * @param {?} checkAll
1767
+ * @return {?}
1768
+ */
1769
+ function (checkAll) {
1770
+ var _this = this;
1771
+ this.model.forEach((/**
1772
+ * @param {?} item
1773
+ * @return {?}
1774
+ */
1775
+ function (item) {
1776
+ /** @type {?} */
1777
+ var isChecked = _this.isChecked(item);
1778
+ if (!_this.isDisabled(item)
1779
+ && ((isChecked && !checkAll) || (!isChecked && checkAll))) {
1780
+ _this.onCheck.emit({ item: item, checked: checkAll });
1781
+ }
1782
+ }));
1783
+ };
1784
+ ListCheckableComponent.decorators = [
1785
+ { type: core.Component, args: [{
1786
+ selector: 'ode-list-checkable',
1787
+ 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",
1788
+ 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}"]
1789
+ }] }
1790
+ ];
1791
+ /** @nocollapse */
1792
+ ListCheckableComponent.ctorParameters = function () { return [
1793
+ { type: core.Injector }
1794
+ ]; };
1795
+ ListCheckableComponent.propDecorators = {
1796
+ model: [{ type: core.Input }],
1797
+ filters: [{ type: core.Input }],
1798
+ sort: [{ type: core.Input }],
1799
+ limit: [{ type: core.Input }],
1800
+ noResultsLabel: [{ type: core.Input }],
1801
+ readOnly: [{ type: core.Input }],
1802
+ onCheck: [{ type: core.Output }],
1803
+ listChange: [{ type: core.Output }],
1804
+ scrolledDown: [{ type: core.Output }],
1805
+ templateRef: [{ type: core.ContentChild, args: [core.TemplateRef, { static: false },] }],
1806
+ areAllChecked: [{ type: core.Input }],
1807
+ isChecked: [{ type: core.Input }],
1808
+ isDisabled: [{ type: core.Input }],
1809
+ ngClass: [{ type: core.Input }]
1810
+ };
1811
+ return ListCheckableComponent;
1812
+ }(ngxOdeCore.OdeComponent));
1813
+ if (false) {
1814
+ /** @type {?} */
1815
+ ListCheckableComponent.prototype.model;
1816
+ /** @type {?} */
1817
+ ListCheckableComponent.prototype.filters;
1818
+ /** @type {?} */
1819
+ ListCheckableComponent.prototype.sort;
1820
+ /** @type {?} */
1821
+ ListCheckableComponent.prototype.limit;
1822
+ /** @type {?} */
1823
+ ListCheckableComponent.prototype.noResultsLabel;
1824
+ /** @type {?} */
1825
+ ListCheckableComponent.prototype.readOnly;
1826
+ /** @type {?} */
1827
+ ListCheckableComponent.prototype.onCheck;
1828
+ /** @type {?} */
1829
+ ListCheckableComponent.prototype.listChange;
1830
+ /** @type {?} */
1831
+ ListCheckableComponent.prototype.scrolledDown;
1832
+ /** @type {?} */
1833
+ ListCheckableComponent.prototype.templateRef;
1834
+ /** @type {?} */
1835
+ ListCheckableComponent.prototype.areAllChecked;
1836
+ /** @type {?} */
1837
+ ListCheckableComponent.prototype.isChecked;
1838
+ /** @type {?} */
1839
+ ListCheckableComponent.prototype.isDisabled;
1840
+ /** @type {?} */
1841
+ ListCheckableComponent.prototype.ngClass;
1842
+ /** @type {?} */
1843
+ ListCheckableComponent.prototype.self;
1844
+ /** @type {?} */
1845
+ ListCheckableComponent.prototype._storedElements;
1846
+ }
1847
+
1686
1848
  /**
1687
1849
  * @fileoverview added by tsickle
1688
1850
  * Generated from: lib/components/message-box/message-box.component.ts
@@ -2494,7 +2656,7 @@
2494
2656
  MultiComboComponent.decorators = [
2495
2657
  { type: core.Component, args: [{
2496
2658
  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",
2659
+ 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
2660
  host: {
2499
2661
  '(document:click)': 'onClick($event)',
2500
2662
  },
@@ -2985,6 +3147,10 @@
2985
3147
  var _this = _super.call(this, injector) || this;
2986
3148
  _this._elRef = _elRef;
2987
3149
  _this._renderer = _renderer;
3150
+ /* Inputs / Outputs / View */
3151
+ _this.isSearchActive = false;
3152
+ _this.isSearchButtonDisabled = false;
3153
+ _this.searchInput = false;
2988
3154
  _this._delay = 200;
2989
3155
  _this.onChange = new core.EventEmitter();
2990
3156
  /* Internal logic */
@@ -2998,9 +3164,7 @@
2998
3164
  function () {
2999
3165
  return this._delay;
3000
3166
  },
3001
- /* Inputs / Outputs / View */
3002
- set: /* Inputs / Outputs / View */
3003
- /**
3167
+ set: /**
3004
3168
  * @param {?} d
3005
3169
  * @return {?}
3006
3170
  */
@@ -3090,7 +3254,8 @@
3090
3254
  SearchInputComponent.decorators = [
3091
3255
  { type: core.Component, args: [{
3092
3256
  selector: 'ode-search-input',
3093
- template: "<input type=\"search\" #searchBox (input)=\"search(searchBox.value)\"/>\n"
3257
+ 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\" [attr.disabled]=\"isSearchButtonDisabled ? true : null\">\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)\"/> -->",
3258
+ styles: [":host .search-container{margin:0;display:flex}:host .search-icon{padding-left:0}:host .search-button{margin:0;background:#ff8352;color:#fff}"]
3094
3259
  }] }
3095
3260
  ];
3096
3261
  /** @nocollapse */
@@ -3100,6 +3265,10 @@
3100
3265
  { type: core.Renderer2 }
3101
3266
  ]; };
3102
3267
  SearchInputComponent.propDecorators = {
3268
+ isSearchActive: [{ type: core.Input }],
3269
+ isSearchButtonDisabled: [{ type: core.Input }],
3270
+ searchInput: [{ type: core.Input }],
3271
+ searchSubmit: [{ type: core.Input }],
3103
3272
  delay: [{ type: core.Input }],
3104
3273
  onChange: [{ type: core.Output }],
3105
3274
  searchBox: [{ type: core.ViewChild, args: ['searchBox', { static: false },] }]
@@ -3107,6 +3276,14 @@
3107
3276
  return SearchInputComponent;
3108
3277
  }(ngxOdeCore.OdeComponent));
3109
3278
  if (false) {
3279
+ /** @type {?} */
3280
+ SearchInputComponent.prototype.isSearchActive;
3281
+ /** @type {?} */
3282
+ SearchInputComponent.prototype.isSearchButtonDisabled;
3283
+ /** @type {?} */
3284
+ SearchInputComponent.prototype.searchInput;
3285
+ /** @type {?} */
3286
+ SearchInputComponent.prototype.searchSubmit;
3110
3287
  /**
3111
3288
  * @type {?}
3112
3289
  * @private
@@ -5191,6 +5368,172 @@
5191
5368
  return el.triggerEventHandler('click', null);
5192
5369
  }
5193
5370
 
5371
+ /**
5372
+ * @fileoverview added by tsickle
5373
+ * Generated from: lib/components/dropdown/dropdown.component.ts
5374
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5375
+ */
5376
+ /**
5377
+ * DropdownComponent is an alternative to the MonoSelectComponent.
5378
+ * Accept everything inside <ng-content> but should work with <ode-list> component
5379
+ *
5380
+ * Simple Dropdown Component without search:
5381
+ * [isSearchActive] can be set to false to disable search input in <ode-list>
5382
+ * ```
5383
+ * <ode-dropdown
5384
+ * [name]="option_name"
5385
+ * [isDropdownOpened]="a_boolean"
5386
+ * (onDropdown)="toggle_func"
5387
+ * >
5388
+ * <ode-list
5389
+ * [model]="model"
5390
+ * [filters]="filters"
5391
+ * (onSelect)="func_to_select_elem($event)"
5392
+ * (inputChange)="a_string_for_input_value = $event"
5393
+ * noResultsLabel="text_to_display"
5394
+ * searchPlaceholder="default_placeholder_text"
5395
+ * >
5396
+ * <ng-template let-item>
5397
+ * <div>{{ item.name }}</div>
5398
+ * </ng-template>
5399
+ * </ode-list>
5400
+ * </ode-dropdown>
5401
+ * `̀``
5402
+ */
5403
+ var DropdownComponent = /** @class */ (function (_super) {
5404
+ __extends(DropdownComponent, _super);
5405
+ function DropdownComponent(injector) {
5406
+ var _this = _super.call(this, injector) || this;
5407
+ _this.name = '';
5408
+ _this.isDropdownOpened = false;
5409
+ _this.onDropdown = new core.EventEmitter();
5410
+ return _this;
5411
+ }
5412
+ /**
5413
+ * @return {?}
5414
+ */
5415
+ DropdownComponent.prototype.ngOnInit = /**
5416
+ * @return {?}
5417
+ */
5418
+ function () {
5419
+ _super.prototype.ngOnInit.call(this);
5420
+ };
5421
+ DropdownComponent.decorators = [
5422
+ { type: core.Component, args: [{
5423
+ selector: 'ode-dropdown',
5424
+ 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",
5425
+ 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)}"]
5426
+ }] }
5427
+ ];
5428
+ /** @nocollapse */
5429
+ DropdownComponent.ctorParameters = function () { return [
5430
+ { type: core.Injector }
5431
+ ]; };
5432
+ DropdownComponent.propDecorators = {
5433
+ name: [{ type: core.Input }],
5434
+ isDropdownOpened: [{ type: core.Input }],
5435
+ onDropdown: [{ type: core.Output }]
5436
+ };
5437
+ return DropdownComponent;
5438
+ }(ngxOdeCore.OdeComponent));
5439
+ if (false) {
5440
+ /** @type {?} */
5441
+ DropdownComponent.prototype.name;
5442
+ /** @type {?} */
5443
+ DropdownComponent.prototype.isDropdownOpened;
5444
+ /** @type {?} */
5445
+ DropdownComponent.prototype.onDropdown;
5446
+ }
5447
+
5448
+ /**
5449
+ * @fileoverview added by tsickle
5450
+ * Generated from: lib/components/search-toolbar/search-toolbar.component.ts
5451
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5452
+ */
5453
+ /**
5454
+ * Search Toolbar component.
5455
+ * Used within List component, Search Toolbar will display following information:
5456
+ * - Label of the search filter section (example: 'Search by')
5457
+ * - List of search type filters (example: 'Name', 'Email' , ...)
5458
+ * - Number of items returned by the search
5459
+ *
5460
+ * ```
5461
+ * <ode-search-toolbar
5462
+ * [label]="'user.searchType.label'"
5463
+ * [searchTypes]="searchTypes"
5464
+ * [nbItem]="nbUser || 0"
5465
+ * [nbItemLabel]="'list.results.users'"
5466
+ * (selectSearchType)="handleSelectSearchType($event)"
5467
+ * >
5468
+ * </ode-search-toolbar>
5469
+ * ```
5470
+ */
5471
+ var SearchToolbarComponent = /** @class */ (function (_super) {
5472
+ __extends(SearchToolbarComponent, _super);
5473
+ function SearchToolbarComponent(injector) {
5474
+ var _this = _super.call(this, injector) || this;
5475
+ _this.nbItem = 0;
5476
+ _this.selectSearchType = new core.EventEmitter();
5477
+ return _this;
5478
+ }
5479
+ /**
5480
+ * @return {?}
5481
+ */
5482
+ SearchToolbarComponent.prototype.ngOnInit = /**
5483
+ * @return {?}
5484
+ */
5485
+ function () {
5486
+ if (this.searchTypes && this.searchTypes.length > 0) {
5487
+ this.selectedSearchTypeValue = this.searchTypes[0].value;
5488
+ }
5489
+ };
5490
+ /**
5491
+ * @param {?} searchTypeValue
5492
+ * @return {?}
5493
+ */
5494
+ SearchToolbarComponent.prototype.handleSearchTypeClick = /**
5495
+ * @param {?} searchTypeValue
5496
+ * @return {?}
5497
+ */
5498
+ function (searchTypeValue) {
5499
+ this.selectedSearchTypeValue = searchTypeValue;
5500
+ this.selectSearchType.emit(searchTypeValue);
5501
+ };
5502
+ SearchToolbarComponent.decorators = [
5503
+ { type: core.Component, args: [{
5504
+ selector: 'ode-search-toolbar',
5505
+ 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",
5506
+ 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}"]
5507
+ }] }
5508
+ ];
5509
+ /** @nocollapse */
5510
+ SearchToolbarComponent.ctorParameters = function () { return [
5511
+ { type: core.Injector }
5512
+ ]; };
5513
+ SearchToolbarComponent.propDecorators = {
5514
+ label: [{ type: core.Input }],
5515
+ searchTypes: [{ type: core.Input }],
5516
+ nbItem: [{ type: core.Input }],
5517
+ nbItemLabel: [{ type: core.Input }],
5518
+ selectSearchType: [{ type: core.Output }]
5519
+ };
5520
+ return SearchToolbarComponent;
5521
+ }(ngxOdeCore.OdeComponent));
5522
+ if (false) {
5523
+ /** @type {?} */
5524
+ SearchToolbarComponent.prototype.label;
5525
+ /** @type {?} */
5526
+ SearchToolbarComponent.prototype.searchTypes;
5527
+ /** @type {?} */
5528
+ SearchToolbarComponent.prototype.nbItem;
5529
+ /** @type {?} */
5530
+ SearchToolbarComponent.prototype.nbItemLabel;
5531
+ /** @type {?} */
5532
+ SearchToolbarComponent.prototype.selectSearchType;
5533
+ /** @type {?} */
5534
+ SearchToolbarComponent.prototype.selectedSearchTypeValue;
5535
+ }
5536
+
5194
5537
  /**
5195
5538
  * @fileoverview added by tsickle
5196
5539
  * Generated from: lib/ngx-ode-ui.module.ts
@@ -5239,6 +5582,7 @@
5239
5582
  LightBoxComponent,
5240
5583
  LightboxConfirmComponent,
5241
5584
  ListComponent,
5585
+ ListCheckableComponent,
5242
5586
  MonoSelectComponent,
5243
5587
  MultiSelectComponent,
5244
5588
  MultiComboComponent,
@@ -5273,7 +5617,9 @@
5273
5617
  LocalizedDatePipe,
5274
5618
  BytesPipe,
5275
5619
  KeysPipe,
5276
- LengthPipe
5620
+ LengthPipe,
5621
+ DropdownComponent,
5622
+ SearchToolbarComponent
5277
5623
  ],
5278
5624
  imports: [
5279
5625
  common.CommonModule,
@@ -5290,6 +5636,7 @@
5290
5636
  LightBoxComponent,
5291
5637
  LightboxConfirmComponent,
5292
5638
  ListComponent,
5639
+ ListCheckableComponent,
5293
5640
  MonoSelectComponent,
5294
5641
  MultiSelectComponent,
5295
5642
  MultiComboComponent,
@@ -5309,6 +5656,8 @@
5309
5656
  SpinnerCubeComponent,
5310
5657
  PagerComponent,
5311
5658
  EllipsisComponent,
5659
+ DropdownComponent,
5660
+ SearchToolbarComponent,
5312
5661
  // directives
5313
5662
  AnchorDirective,
5314
5663
  DynamicTemplateDirective,
@@ -5355,6 +5704,7 @@
5355
5704
  exports.LightBoxComponent = LightBoxComponent;
5356
5705
  exports.LightboxConfirmComponent = LightboxConfirmComponent;
5357
5706
  exports.LimitPipe = LimitPipe;
5707
+ exports.ListCheckableComponent = ListCheckableComponent;
5358
5708
  exports.ListComponent = ListComponent;
5359
5709
  exports.LocalizedDatePipe = LocalizedDatePipe;
5360
5710
  exports.MessageBoxComponent = MessageBoxComponent;
@@ -5389,6 +5739,8 @@
5389
5739
  exports.standardise = standardise;
5390
5740
  exports.toDecimal = toDecimal;
5391
5741
  exports.trim = trim;
5742
+ exports.ɵa = DropdownComponent;
5743
+ exports.ɵb = SearchToolbarComponent;
5392
5744
 
5393
5745
  Object.defineProperty(exports, '__esModule', { value: true });
5394
5746