@agorapulse/ui-components 16.3.15 → 16.4.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.
- package/agorapulse-ui-components-16.4.1.tgz +0 -0
- package/esm2022/infobox/infobox.component.mjs +13 -3
- package/esm2022/labels-selector/labels-selector.component.mjs +7 -6
- package/esm2022/snackbars-thread/component/snackbars-thread.component.mjs +35 -26
- package/esm2022/snackbars-thread/model/snackbars-thread.model.mjs +4 -14
- package/esm2022/snackbars-thread/service/snackbars-thread.service.mjs +4 -5
- package/esm2022/src/lib/agorapulse-ui-components.module.mjs +1 -4
- package/fesm2022/agorapulse-ui-components-infobox.mjs +12 -2
- package/fesm2022/agorapulse-ui-components-infobox.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-labels-selector.mjs +7 -6
- package/fesm2022/agorapulse-ui-components-labels-selector.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-snackbars-thread.mjs +40 -42
- package/fesm2022/agorapulse-ui-components-snackbars-thread.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components.mjs +0 -3
- package/fesm2022/agorapulse-ui-components.mjs.map +1 -1
- package/infobox/infobox.component.d.ts +4 -1
- package/labels-selector/labels-selector.component.d.ts +1 -0
- package/package.json +1 -1
- package/snackbars-thread/component/snackbars-thread.component.d.ts +4 -1
- package/snackbars-thread/model/snackbars-thread.model.d.ts +2 -0
- package/src/lib/agorapulse-ui-components.module.d.ts +1 -1
- package/agorapulse-ui-components-16.3.15.tgz +0 -0
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import { LabelComponent } from '@agorapulse/ui-components/labels';
|
|
2
|
+
import * as i2 from '@agorapulse/ui-components/select';
|
|
3
|
+
import { ApSelectModule } from '@agorapulse/ui-components/select';
|
|
2
4
|
import * as i1 from '@agorapulse/ui-symbol';
|
|
3
5
|
import { apAddCircleBoldAlternate, SymbolComponent } from '@agorapulse/ui-symbol';
|
|
4
|
-
import { NgForOf, NgIf
|
|
6
|
+
import { AsyncPipe, NgForOf, NgIf } from '@angular/common';
|
|
5
7
|
import * as i0 from '@angular/core';
|
|
6
8
|
import { EventEmitter, Component, Input, Output } from '@angular/core';
|
|
7
|
-
import * as
|
|
9
|
+
import * as i4 from '@angular/forms';
|
|
8
10
|
import { FormsModule } from '@angular/forms';
|
|
9
|
-
import * as i2 from '@ng-select/ng-select';
|
|
10
|
-
import { NgSelectModule } from '@ng-select/ng-select';
|
|
11
11
|
import { Subject } from 'rxjs';
|
|
12
12
|
import { debounceTime, distinctUntilChanged, tap, switchMap, catchError, map } from 'rxjs/operators';
|
|
13
|
+
import * as i3 from '@ng-select/ng-select';
|
|
13
14
|
|
|
14
15
|
class LabelsSelectorComponent {
|
|
15
16
|
changeDetectorRef;
|
|
@@ -74,11 +75,11 @@ class LabelsSelectorComponent {
|
|
|
74
75
|
}))));
|
|
75
76
|
}
|
|
76
77
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: LabelsSelectorComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.SymbolRegistry }], target: i0.ɵɵFactoryTarget.Component });
|
|
77
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.10", type: LabelsSelectorComponent, isStandalone: true, selector: "ap-labels-selector", inputs: { addLabelEnabled: "addLabelEnabled", disabled: "disabled", initialLabels: "initialLabels", translation: "translation", loadingOnSearch: "loadingOnSearch", multipleEnabled: "multipleEnabled", searchLabelsFunction: "searchLabelsFunction" }, outputs: { createLabel: "createLabel", deleteLabel: "deleteLabel", selectLabels: "selectLabels", searchErrorMessage: "searchErrorMessage" }, usesOnChanges: true, ngImport: i0, template: "<!-- @JRA [multiple]=\"false\" break the component display and behavior, we use [maxSelectedItems]=\"1\" as efficient workaround -->\n<ng-select\n class=\"labels-select\"\n appendTo=\"body\"\n [addTag]=\"addLabelEnabled\"\n [clearable]=\"false\"\n [disabled]=\"disabled\"\n [hideSelected]=\"true\"\n [items]=\"labels$ | async\"\n [loading]=\"labelsLoading\"\n [minTermLength]=\"0\"\n [multiple]=\"true\"\n [placeholder]=\"translation.placeholder\"\n [typeahead]=\"labelsInput$\"\n [(ngModel)]=\"labels\"\n (add)=\"onCreateLabel($event)\"\n (change)=\"onLabelsChange()\"\n (remove)=\"onDeleteLabel($event)\"\n (open)=\"onOpen()\">\n <ng-template\n let-items=\"items\"\n let-clear=\"clear\"\n ng-multi-label-tmp>\n <div\n *ngFor=\"let item of items\"\n class=\"labels-wrapper\">\n <ap-label\n [content]=\"item\"\n [selectorWidth]=\"221\"\n [removable]=\"!disabled\"\n (remove)=\"clear(item)\" />\n </div>\n </ng-template>\n <ng-template\n let-item=\"item\"\n let-search=\"searchTerm\"\n ng-option-tmp>\n <div *ngIf=\"search\">\n <b>{{ item.substring(0, search.length) }}</b>\n {{ item.substring(search.length, item.length) }}\n </div>\n <div *ngIf=\"!search\">{{ item }}</div>\n </ng-template>\n <ng-template\n let-search=\"searchTerm\"\n ng-tag-tmp>\n <div class=\"add-label\">\n <ap-symbol\n class=\"add-label-icon\"\n symbolId=\"add-circle-bold-alternate\"\n size=\"micro\" />\n <div class=\"add-label-preview\">{{ translation.createLabel }} \"{{ search }}\"</div>\n </div>\n </ng-template>\n</ng-select>\n", styles: ["[color=facebook]{color:#0866ff}[bgcolor=facebook],[hcolor=facebook]:hover{background-color:#0866ff}[border=facebook]{border:1px solid #0866ff}[color=google]{color:#4e85e8}[bgcolor=google],[hcolor=google]:hover{background-color:#4e85e8}[border=google]{border:1px solid #4e85e8}[color=instagram]{color:#e1306c}[bgcolor=instagram],[hcolor=instagram]:hover{background-color:#e1306c}[border=instagram]{border:1px solid #e1306c}[color=instagrammagenta]{color:#c13584}[bgcolor=instagrammagenta],[hcolor=instagrammagenta]:hover{background-color:#c13584}[border=instagrammagenta]{border:1px solid #c13584}[color=instagramblue]{color:#5851db}[bgcolor=instagramblue],[hcolor=instagramblue]:hover{background-color:#5851db}[border=instagramblue]{border:1px solid #5851db}[color=instagrampurple]{color:#833ab4}[bgcolor=instagrampurple],[hcolor=instagrampurple]:hover{background-color:#833ab4}[border=instagrampurple]{border:1px solid #833ab4}[color=instagramorange]{color:#f56040}[bgcolor=instagramorange],[hcolor=instagramorange]:hover{background-color:#f56040}[border=instagramorange]{border:1px solid #f56040}[color=instagramyellow]{color:#ffdc80}[bgcolor=instagramyellow],[hcolor=instagramyellow]:hover{background-color:#ffdc80}[border=instagramyellow]{border:1px solid #ffdc80}[color=linkedin]{color:#2c67bc}[bgcolor=linkedin],[hcolor=linkedin]:hover{background-color:#2c67bc}[border=linkedin]{border:1px solid #2c67bc}[color=twitter]{color:#55acee}[bgcolor=twitter],[hcolor=twitter]:hover{background-color:#55acee}[border=twitter]{border:1px solid #55acee}[color=youtube]{color:red}[bgcolor=youtube],[hcolor=youtube]:hover{background-color:red}[border=youtube]{border:1px solid #ff0000}[color=blood-orange]{color:#ff4d00}[bgcolor=blood-orange],[hcolor=blood-orange]:hover{background-color:#ff4d00}[border=blood-orange]{border:1px solid #ff4d00}[color=pinkish-orange]{color:#ff7b49}[bgcolor=pinkish-orange],[hcolor=pinkish-orange]:hover{background-color:#ff7b49}[border=pinkish-orange]{border:1px solid #ff7b49}[color=charcoal-grey]{color:#2a2f34}[bgcolor=charcoal-grey],[hcolor=charcoal-grey]:hover{background-color:#2a2f34}[border=charcoal-grey]{border:1px solid #2a2f34}[color=azure]{color:#00aeef}[bgcolor=azure],[hcolor=azure]:hover{background-color:#00aeef}[border=azure]{border:1px solid #00aeef}[color=light-azure]{color:#eaf5fd}[bgcolor=light-azure],[hcolor=light-azure]:hover{background-color:#eaf5fd}[border=light-azure]{border:1px solid #eaf5fd}[color=blue-grey]{color:#8d98a9}[bgcolor=blue-grey],[hcolor=blue-grey]:hover{background-color:#8d98a9}[border=blue-grey]{border:1px solid #8d98a9}[color=silver]{color:#ced0da}[bgcolor=silver],[hcolor=silver]:hover{background-color:#ced0da}[border=silver]{border:1px solid #ced0da}[color=pale-grey]{color:#dfe3e9}[bgcolor=pale-grey],[hcolor=pale-grey]:hover{background-color:#dfe3e9}[border=pale-grey]{border:1px solid #dfe3e9}[color=grey-white]{color:#f5f7f8}[bgcolor=grey-white],[hcolor=grey-white]:hover{background-color:#f5f7f8}[border=grey-white]{border:1px solid #f5f7f8}[color=cool-grey]{color:#b4bbc6}[bgcolor=cool-grey],[hcolor=cool-grey]:hover{background-color:#b4bbc6}[border=cool-grey]{border:1px solid #b4bbc6}[color=black]{color:#344563}[bgcolor=black],[hcolor=black]:hover{background-color:#344563}[border=black]{border:1px solid #344563}[color=grey-blue]{color:#68768c}[bgcolor=grey-blue],[hcolor=grey-blue]:hover{background-color:#68768c}[border=grey-blue]{border:1px solid #68768c}[color=strawberry]{color:#f4282d}[bgcolor=strawberry],[hcolor=strawberry]:hover{background-color:#f4282d}[border=strawberry]{border:1px solid #f4282d}[color=light-strawberry]{color:#f8eded}[bgcolor=light-strawberry],[hcolor=light-strawberry]:hover{background-color:#f8eded}[border=light-strawberry]{border:1px solid #f8eded}[color=white]{color:#fff}[bgcolor=white],[hcolor=white]:hover{background-color:#fff}[border=white]{border:1px solid #ffffff}[color=cool-green]{color:#33c15d}[bgcolor=cool-green],[hcolor=cool-green]:hover{background-color:#33c15d}[border=cool-green]{border:1px solid #33c15d}[color=light-green]{color:#ebfaef}[bgcolor=light-green],[hcolor=light-green]:hover{background-color:#ebfaef}[border=light-green]{border:1px solid #ebfaef}[color=transparent]{color:transparent}[bgcolor=transparent],[hcolor=transparent]:hover{background-color:transparent}[border=transparent]{border:1px solid transparent}[color=c0]{color:#a566a5}[bgcolor=c0],[hcolor=c0]:hover{background-color:#a566a5}[border=c0]{border:1px solid #a566a5}[color=c1]{color:#c7ab82}[bgcolor=c1],[hcolor=c1]:hover{background-color:#c7ab82}[border=c1]{border:1px solid #c7ab82}[color=c2]{color:#f2713c}[bgcolor=c2],[hcolor=c2]:hover{background-color:#f2713c}[border=c2]{border:1px solid #f2713c}[color=c3]{color:#ffd006}[bgcolor=c3],[hcolor=c3]:hover{background-color:#ffd006}[border=c3]{border:1px solid #ffd006}[color=c4]{color:#94c5aa}[bgcolor=c4],[hcolor=c4]:hover{background-color:#94c5aa}[border=c4]{border:1px solid #94c5aa}[color=c5]{color:#2a9d8f}[bgcolor=c5],[hcolor=c5]:hover{background-color:#2a9d8f}[border=c5]{border:1px solid #2a9d8f}[color=c6]{color:#78acd8}[bgcolor=c6],[hcolor=c6]:hover{background-color:#78acd8}[border=c6]{border:1px solid #78acd8}[color=c7]{color:#525a9e}[bgcolor=c7],[hcolor=c7]:hover{background-color:#525a9e}[border=c7]{border:1px solid #525a9e}[color=c8]{color:#6a2459}[bgcolor=c8],[hcolor=c8]:hover{background-color:#6a2459}[border=c8]{border:1px solid #6a2459}[color=c9]{color:#74729e}[bgcolor=c9],[hcolor=c9]:hover{background-color:#74729e}[border=c9]{border:1px solid #74729e}:host{max-width:260px;display:flex}.labels-select{width:260px}.labels-select .labels-wrapper{margin-bottom:5px;max-width:221px}::ng-deep .labels-select.ng-select .ng-select-container .ng-value-container{overflow-y:auto;overflow-x:hidden;max-height:171px;padding-left:6px!important;gap:4px}::ng-deep .ng-option{color:#344563!important}::ng-deep .ng-option.ng-option-marked{color:#178dfe!important}.add-label{display:flex;align-items:center;color:#178dfe}.add-label .add-label-icon{padding-right:8px}.add-label-preview{text-overflow:ellipsis;display:block;white-space:nowrap;overflow:hidden}\n"], dependencies: [{ kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["color", "symbolId", "size"] }, { kind: "ngmodule", type: NgSelectModule }, { kind: "component", type: i2.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i2.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "directive", type: i2.NgMultiLabelTemplateDirective, selector: "[ng-multi-label-tmp]" }, { kind: "directive", type: i2.NgTagTemplateDirective, selector: "[ng-tag-tmp]" }, { kind: "component", type: LabelComponent, selector: "ap-label", inputs: ["content", "selectorWidth", "removable"], outputs: ["remove"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] });
|
|
78
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.10", type: LabelsSelectorComponent, isStandalone: true, selector: "ap-labels-selector", inputs: { addLabelEnabled: "addLabelEnabled", disabled: "disabled", initialLabels: "initialLabels", translation: "translation", loadingOnSearch: "loadingOnSearch", multipleEnabled: "multipleEnabled", searchLabelsFunction: "searchLabelsFunction" }, outputs: { createLabel: "createLabel", deleteLabel: "deleteLabel", selectLabels: "selectLabels", searchErrorMessage: "searchErrorMessage" }, usesOnChanges: true, ngImport: i0, template: "<!-- @JRA [multiple]=\"false\" break the component display and behavior, we use [maxSelectedItems]=\"1\" as efficient workaround -->\n<ng-select\n #select\n class=\"labels-select\"\n apSelectMultiple\n appendTo=\"body\"\n [clearable]=\"false\"\n [disabled]=\"disabled\"\n [items]=\"labels$ | async\"\n [loading]=\"labelsLoading\"\n [minTermLength]=\"0\"\n [multiple]=\"true\"\n [placeholder]=\"translation.placeholder\"\n [typeahead]=\"labelsInput$\"\n [(ngModel)]=\"labels\"\n (change)=\"onLabelsChange()\"\n (remove)=\"onDeleteLabel($event)\"\n (open)=\"onOpen()\">\n <ng-template\n let-items=\"items\"\n let-clear=\"clear\"\n ng-multi-label-tmp>\n <ap-select-label-multiple\n displayType=\"label\"\n [selectedItems]=\"items\"\n (removeItem)=\"clear($event)\" />\n </ng-template>\n <ng-template\n let-item=\"item\"\n let-item$=\"item$\"\n ng-option-tmp>\n <ap-dropdown-item-multiple-one-line\n [text]=\"item\"\n [htmlId]=\"item$.htmlId\"\n [selected]=\"item$.selected\" />\n </ng-template>\n <ng-template\n let-searchTerm=\"searchTerm\"\n ng-header-tmp>\n <ap-dropdown-search-form\n [searchPlaceholder]=\"translation.searchPlaceholder ?? translation.placeholder\"\n [createText]=\"translation.createLabel\"\n [createNewEnabled]=\"addLabelEnabled\"\n [select]=\"select\"\n (createNew)=\"onCreateLabel($event)\" />\n </ng-template>\n</ng-select>\n", styles: ["[color=facebook]{color:#0866ff}[bgcolor=facebook],[hcolor=facebook]:hover{background-color:#0866ff}[border=facebook]{border:1px solid #0866ff}[color=google]{color:#4e85e8}[bgcolor=google],[hcolor=google]:hover{background-color:#4e85e8}[border=google]{border:1px solid #4e85e8}[color=instagram]{color:#e1306c}[bgcolor=instagram],[hcolor=instagram]:hover{background-color:#e1306c}[border=instagram]{border:1px solid #e1306c}[color=instagrammagenta]{color:#c13584}[bgcolor=instagrammagenta],[hcolor=instagrammagenta]:hover{background-color:#c13584}[border=instagrammagenta]{border:1px solid #c13584}[color=instagramblue]{color:#5851db}[bgcolor=instagramblue],[hcolor=instagramblue]:hover{background-color:#5851db}[border=instagramblue]{border:1px solid #5851db}[color=instagrampurple]{color:#833ab4}[bgcolor=instagrampurple],[hcolor=instagrampurple]:hover{background-color:#833ab4}[border=instagrampurple]{border:1px solid #833ab4}[color=instagramorange]{color:#f56040}[bgcolor=instagramorange],[hcolor=instagramorange]:hover{background-color:#f56040}[border=instagramorange]{border:1px solid #f56040}[color=instagramyellow]{color:#ffdc80}[bgcolor=instagramyellow],[hcolor=instagramyellow]:hover{background-color:#ffdc80}[border=instagramyellow]{border:1px solid #ffdc80}[color=linkedin]{color:#2c67bc}[bgcolor=linkedin],[hcolor=linkedin]:hover{background-color:#2c67bc}[border=linkedin]{border:1px solid #2c67bc}[color=twitter]{color:#55acee}[bgcolor=twitter],[hcolor=twitter]:hover{background-color:#55acee}[border=twitter]{border:1px solid #55acee}[color=youtube]{color:red}[bgcolor=youtube],[hcolor=youtube]:hover{background-color:red}[border=youtube]{border:1px solid #ff0000}[color=blood-orange]{color:#ff4d00}[bgcolor=blood-orange],[hcolor=blood-orange]:hover{background-color:#ff4d00}[border=blood-orange]{border:1px solid #ff4d00}[color=pinkish-orange]{color:#ff7b49}[bgcolor=pinkish-orange],[hcolor=pinkish-orange]:hover{background-color:#ff7b49}[border=pinkish-orange]{border:1px solid #ff7b49}[color=charcoal-grey]{color:#2a2f34}[bgcolor=charcoal-grey],[hcolor=charcoal-grey]:hover{background-color:#2a2f34}[border=charcoal-grey]{border:1px solid #2a2f34}[color=azure]{color:#00aeef}[bgcolor=azure],[hcolor=azure]:hover{background-color:#00aeef}[border=azure]{border:1px solid #00aeef}[color=light-azure]{color:#eaf5fd}[bgcolor=light-azure],[hcolor=light-azure]:hover{background-color:#eaf5fd}[border=light-azure]{border:1px solid #eaf5fd}[color=blue-grey]{color:#8d98a9}[bgcolor=blue-grey],[hcolor=blue-grey]:hover{background-color:#8d98a9}[border=blue-grey]{border:1px solid #8d98a9}[color=silver]{color:#ced0da}[bgcolor=silver],[hcolor=silver]:hover{background-color:#ced0da}[border=silver]{border:1px solid #ced0da}[color=pale-grey]{color:#dfe3e9}[bgcolor=pale-grey],[hcolor=pale-grey]:hover{background-color:#dfe3e9}[border=pale-grey]{border:1px solid #dfe3e9}[color=grey-white]{color:#f5f7f8}[bgcolor=grey-white],[hcolor=grey-white]:hover{background-color:#f5f7f8}[border=grey-white]{border:1px solid #f5f7f8}[color=cool-grey]{color:#b4bbc6}[bgcolor=cool-grey],[hcolor=cool-grey]:hover{background-color:#b4bbc6}[border=cool-grey]{border:1px solid #b4bbc6}[color=black]{color:#344563}[bgcolor=black],[hcolor=black]:hover{background-color:#344563}[border=black]{border:1px solid #344563}[color=grey-blue]{color:#68768c}[bgcolor=grey-blue],[hcolor=grey-blue]:hover{background-color:#68768c}[border=grey-blue]{border:1px solid #68768c}[color=strawberry]{color:#f4282d}[bgcolor=strawberry],[hcolor=strawberry]:hover{background-color:#f4282d}[border=strawberry]{border:1px solid #f4282d}[color=light-strawberry]{color:#f8eded}[bgcolor=light-strawberry],[hcolor=light-strawberry]:hover{background-color:#f8eded}[border=light-strawberry]{border:1px solid #f8eded}[color=white]{color:#fff}[bgcolor=white],[hcolor=white]:hover{background-color:#fff}[border=white]{border:1px solid #ffffff}[color=cool-green]{color:#33c15d}[bgcolor=cool-green],[hcolor=cool-green]:hover{background-color:#33c15d}[border=cool-green]{border:1px solid #33c15d}[color=light-green]{color:#ebfaef}[bgcolor=light-green],[hcolor=light-green]:hover{background-color:#ebfaef}[border=light-green]{border:1px solid #ebfaef}[color=transparent]{color:transparent}[bgcolor=transparent],[hcolor=transparent]:hover{background-color:transparent}[border=transparent]{border:1px solid transparent}[color=c0]{color:#a566a5}[bgcolor=c0],[hcolor=c0]:hover{background-color:#a566a5}[border=c0]{border:1px solid #a566a5}[color=c1]{color:#c7ab82}[bgcolor=c1],[hcolor=c1]:hover{background-color:#c7ab82}[border=c1]{border:1px solid #c7ab82}[color=c2]{color:#f2713c}[bgcolor=c2],[hcolor=c2]:hover{background-color:#f2713c}[border=c2]{border:1px solid #f2713c}[color=c3]{color:#ffd006}[bgcolor=c3],[hcolor=c3]:hover{background-color:#ffd006}[border=c3]{border:1px solid #ffd006}[color=c4]{color:#94c5aa}[bgcolor=c4],[hcolor=c4]:hover{background-color:#94c5aa}[border=c4]{border:1px solid #94c5aa}[color=c5]{color:#2a9d8f}[bgcolor=c5],[hcolor=c5]:hover{background-color:#2a9d8f}[border=c5]{border:1px solid #2a9d8f}[color=c6]{color:#78acd8}[bgcolor=c6],[hcolor=c6]:hover{background-color:#78acd8}[border=c6]{border:1px solid #78acd8}[color=c7]{color:#525a9e}[bgcolor=c7],[hcolor=c7]:hover{background-color:#525a9e}[border=c7]{border:1px solid #525a9e}[color=c8]{color:#6a2459}[bgcolor=c8],[hcolor=c8]:hover{background-color:#6a2459}[border=c8]{border:1px solid #6a2459}[color=c9]{color:#74729e}[bgcolor=c9],[hcolor=c9]:hover{background-color:#74729e}[border=c9]{border:1px solid #74729e}:host{max-width:260px;display:flex}.labels-select{width:260px}.labels-select .labels-wrapper{margin-bottom:5px;max-width:221px}::ng-deep .labels-select.ng-select .ng-select-container .ng-value-container{overflow-y:auto;overflow-x:hidden;max-height:171px;padding-left:6px!important;gap:4px}::ng-deep .ng-option{color:#344563!important}::ng-deep .ng-option.ng-option-marked{color:#178dfe!important}.add-label{display:flex;align-items:center;color:#178dfe}.add-label .add-label-icon{padding-right:8px}.add-label-preview{text-overflow:ellipsis;display:block;white-space:nowrap;overflow:hidden}\n"], dependencies: [{ kind: "ngmodule", type: ApSelectModule }, { kind: "directive", type: i2.SelectMultipleDirective, selector: "ng-select[apSelectMultiple]" }, { kind: "component", type: i2.DropdownItemMultipleOneLineComponent, selector: "ap-dropdown-item-multiple-one-line", inputs: ["text", "selected", "htmlId", "disabled", "avatarUrl", "symbolId", "disabledTooltip", "badgeText", "dividerEnabled", "onlyEnabled", "onlyText"], outputs: ["selectOnly"] }, { kind: "component", type: i2.SelectLabelMultipleComponent, selector: "ap-select-label-multiple", inputs: ["displayType", "selectedItems", "bindLabel", "bindValue", "bindAvatarUrl"], outputs: ["removeItem"] }, { kind: "component", type: i2.DropdownSearchFormComponent, selector: "ap-dropdown-search-form", inputs: ["searchPlaceholder", "createNewEnabled", "createText", "select"], outputs: ["createNew"] }, { kind: "component", type: i3.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i3.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "directive", type: i3.NgMultiLabelTemplateDirective, selector: "[ng-multi-label-tmp]" }, { kind: "directive", type: i3.NgHeaderTemplateDirective, selector: "[ng-header-tmp]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] });
|
|
78
79
|
}
|
|
79
80
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: LabelsSelectorComponent, decorators: [{
|
|
80
81
|
type: Component,
|
|
81
|
-
args: [{ selector: 'ap-labels-selector', standalone: true, imports: [SymbolComponent,
|
|
82
|
+
args: [{ selector: 'ap-labels-selector', standalone: true, imports: [SymbolComponent, ApSelectModule, LabelComponent, NgForOf, NgIf, FormsModule, AsyncPipe], template: "<!-- @JRA [multiple]=\"false\" break the component display and behavior, we use [maxSelectedItems]=\"1\" as efficient workaround -->\n<ng-select\n #select\n class=\"labels-select\"\n apSelectMultiple\n appendTo=\"body\"\n [clearable]=\"false\"\n [disabled]=\"disabled\"\n [items]=\"labels$ | async\"\n [loading]=\"labelsLoading\"\n [minTermLength]=\"0\"\n [multiple]=\"true\"\n [placeholder]=\"translation.placeholder\"\n [typeahead]=\"labelsInput$\"\n [(ngModel)]=\"labels\"\n (change)=\"onLabelsChange()\"\n (remove)=\"onDeleteLabel($event)\"\n (open)=\"onOpen()\">\n <ng-template\n let-items=\"items\"\n let-clear=\"clear\"\n ng-multi-label-tmp>\n <ap-select-label-multiple\n displayType=\"label\"\n [selectedItems]=\"items\"\n (removeItem)=\"clear($event)\" />\n </ng-template>\n <ng-template\n let-item=\"item\"\n let-item$=\"item$\"\n ng-option-tmp>\n <ap-dropdown-item-multiple-one-line\n [text]=\"item\"\n [htmlId]=\"item$.htmlId\"\n [selected]=\"item$.selected\" />\n </ng-template>\n <ng-template\n let-searchTerm=\"searchTerm\"\n ng-header-tmp>\n <ap-dropdown-search-form\n [searchPlaceholder]=\"translation.searchPlaceholder ?? translation.placeholder\"\n [createText]=\"translation.createLabel\"\n [createNewEnabled]=\"addLabelEnabled\"\n [select]=\"select\"\n (createNew)=\"onCreateLabel($event)\" />\n </ng-template>\n</ng-select>\n", styles: ["[color=facebook]{color:#0866ff}[bgcolor=facebook],[hcolor=facebook]:hover{background-color:#0866ff}[border=facebook]{border:1px solid #0866ff}[color=google]{color:#4e85e8}[bgcolor=google],[hcolor=google]:hover{background-color:#4e85e8}[border=google]{border:1px solid #4e85e8}[color=instagram]{color:#e1306c}[bgcolor=instagram],[hcolor=instagram]:hover{background-color:#e1306c}[border=instagram]{border:1px solid #e1306c}[color=instagrammagenta]{color:#c13584}[bgcolor=instagrammagenta],[hcolor=instagrammagenta]:hover{background-color:#c13584}[border=instagrammagenta]{border:1px solid #c13584}[color=instagramblue]{color:#5851db}[bgcolor=instagramblue],[hcolor=instagramblue]:hover{background-color:#5851db}[border=instagramblue]{border:1px solid #5851db}[color=instagrampurple]{color:#833ab4}[bgcolor=instagrampurple],[hcolor=instagrampurple]:hover{background-color:#833ab4}[border=instagrampurple]{border:1px solid #833ab4}[color=instagramorange]{color:#f56040}[bgcolor=instagramorange],[hcolor=instagramorange]:hover{background-color:#f56040}[border=instagramorange]{border:1px solid #f56040}[color=instagramyellow]{color:#ffdc80}[bgcolor=instagramyellow],[hcolor=instagramyellow]:hover{background-color:#ffdc80}[border=instagramyellow]{border:1px solid #ffdc80}[color=linkedin]{color:#2c67bc}[bgcolor=linkedin],[hcolor=linkedin]:hover{background-color:#2c67bc}[border=linkedin]{border:1px solid #2c67bc}[color=twitter]{color:#55acee}[bgcolor=twitter],[hcolor=twitter]:hover{background-color:#55acee}[border=twitter]{border:1px solid #55acee}[color=youtube]{color:red}[bgcolor=youtube],[hcolor=youtube]:hover{background-color:red}[border=youtube]{border:1px solid #ff0000}[color=blood-orange]{color:#ff4d00}[bgcolor=blood-orange],[hcolor=blood-orange]:hover{background-color:#ff4d00}[border=blood-orange]{border:1px solid #ff4d00}[color=pinkish-orange]{color:#ff7b49}[bgcolor=pinkish-orange],[hcolor=pinkish-orange]:hover{background-color:#ff7b49}[border=pinkish-orange]{border:1px solid #ff7b49}[color=charcoal-grey]{color:#2a2f34}[bgcolor=charcoal-grey],[hcolor=charcoal-grey]:hover{background-color:#2a2f34}[border=charcoal-grey]{border:1px solid #2a2f34}[color=azure]{color:#00aeef}[bgcolor=azure],[hcolor=azure]:hover{background-color:#00aeef}[border=azure]{border:1px solid #00aeef}[color=light-azure]{color:#eaf5fd}[bgcolor=light-azure],[hcolor=light-azure]:hover{background-color:#eaf5fd}[border=light-azure]{border:1px solid #eaf5fd}[color=blue-grey]{color:#8d98a9}[bgcolor=blue-grey],[hcolor=blue-grey]:hover{background-color:#8d98a9}[border=blue-grey]{border:1px solid #8d98a9}[color=silver]{color:#ced0da}[bgcolor=silver],[hcolor=silver]:hover{background-color:#ced0da}[border=silver]{border:1px solid #ced0da}[color=pale-grey]{color:#dfe3e9}[bgcolor=pale-grey],[hcolor=pale-grey]:hover{background-color:#dfe3e9}[border=pale-grey]{border:1px solid #dfe3e9}[color=grey-white]{color:#f5f7f8}[bgcolor=grey-white],[hcolor=grey-white]:hover{background-color:#f5f7f8}[border=grey-white]{border:1px solid #f5f7f8}[color=cool-grey]{color:#b4bbc6}[bgcolor=cool-grey],[hcolor=cool-grey]:hover{background-color:#b4bbc6}[border=cool-grey]{border:1px solid #b4bbc6}[color=black]{color:#344563}[bgcolor=black],[hcolor=black]:hover{background-color:#344563}[border=black]{border:1px solid #344563}[color=grey-blue]{color:#68768c}[bgcolor=grey-blue],[hcolor=grey-blue]:hover{background-color:#68768c}[border=grey-blue]{border:1px solid #68768c}[color=strawberry]{color:#f4282d}[bgcolor=strawberry],[hcolor=strawberry]:hover{background-color:#f4282d}[border=strawberry]{border:1px solid #f4282d}[color=light-strawberry]{color:#f8eded}[bgcolor=light-strawberry],[hcolor=light-strawberry]:hover{background-color:#f8eded}[border=light-strawberry]{border:1px solid #f8eded}[color=white]{color:#fff}[bgcolor=white],[hcolor=white]:hover{background-color:#fff}[border=white]{border:1px solid #ffffff}[color=cool-green]{color:#33c15d}[bgcolor=cool-green],[hcolor=cool-green]:hover{background-color:#33c15d}[border=cool-green]{border:1px solid #33c15d}[color=light-green]{color:#ebfaef}[bgcolor=light-green],[hcolor=light-green]:hover{background-color:#ebfaef}[border=light-green]{border:1px solid #ebfaef}[color=transparent]{color:transparent}[bgcolor=transparent],[hcolor=transparent]:hover{background-color:transparent}[border=transparent]{border:1px solid transparent}[color=c0]{color:#a566a5}[bgcolor=c0],[hcolor=c0]:hover{background-color:#a566a5}[border=c0]{border:1px solid #a566a5}[color=c1]{color:#c7ab82}[bgcolor=c1],[hcolor=c1]:hover{background-color:#c7ab82}[border=c1]{border:1px solid #c7ab82}[color=c2]{color:#f2713c}[bgcolor=c2],[hcolor=c2]:hover{background-color:#f2713c}[border=c2]{border:1px solid #f2713c}[color=c3]{color:#ffd006}[bgcolor=c3],[hcolor=c3]:hover{background-color:#ffd006}[border=c3]{border:1px solid #ffd006}[color=c4]{color:#94c5aa}[bgcolor=c4],[hcolor=c4]:hover{background-color:#94c5aa}[border=c4]{border:1px solid #94c5aa}[color=c5]{color:#2a9d8f}[bgcolor=c5],[hcolor=c5]:hover{background-color:#2a9d8f}[border=c5]{border:1px solid #2a9d8f}[color=c6]{color:#78acd8}[bgcolor=c6],[hcolor=c6]:hover{background-color:#78acd8}[border=c6]{border:1px solid #78acd8}[color=c7]{color:#525a9e}[bgcolor=c7],[hcolor=c7]:hover{background-color:#525a9e}[border=c7]{border:1px solid #525a9e}[color=c8]{color:#6a2459}[bgcolor=c8],[hcolor=c8]:hover{background-color:#6a2459}[border=c8]{border:1px solid #6a2459}[color=c9]{color:#74729e}[bgcolor=c9],[hcolor=c9]:hover{background-color:#74729e}[border=c9]{border:1px solid #74729e}:host{max-width:260px;display:flex}.labels-select{width:260px}.labels-select .labels-wrapper{margin-bottom:5px;max-width:221px}::ng-deep .labels-select.ng-select .ng-select-container .ng-value-container{overflow-y:auto;overflow-x:hidden;max-height:171px;padding-left:6px!important;gap:4px}::ng-deep .ng-option{color:#344563!important}::ng-deep .ng-option.ng-option-marked{color:#178dfe!important}.add-label{display:flex;align-items:center;color:#178dfe}.add-label .add-label-icon{padding-right:8px}.add-label-preview{text-overflow:ellipsis;display:block;white-space:nowrap;overflow:hidden}\n"] }]
|
|
82
83
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.SymbolRegistry }]; }, propDecorators: { addLabelEnabled: [{
|
|
83
84
|
type: Input
|
|
84
85
|
}], disabled: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agorapulse-ui-components-labels-selector.mjs","sources":["../../../libs/ui-components/labels-selector/src/labels-selector.component.ts","../../../libs/ui-components/labels-selector/src/labels-selector.component.html","../../../libs/ui-components/labels-selector/src/agorapulse-ui-components-labels-selector.ts"],"sourcesContent":["import { LabelComponent } from '@agorapulse/ui-components/labels';\nimport { SymbolComponent, apAddCircleBoldAlternate, SymbolRegistry } from '@agorapulse/ui-symbol';\nimport { AsyncPipe, NgForOf, NgIf } from '@angular/common';\nimport { ChangeDetectorRef, Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { Observable, Subject } from 'rxjs';\nimport { catchError, debounceTime, distinctUntilChanged, map, switchMap, tap } from 'rxjs/operators';\n\nexport interface LabelsSelectorTranslation {\n placeholder: string;\n createLabel: string;\n}\n\n@Component({\n selector: 'ap-labels-selector',\n templateUrl: './labels-selector.component.html',\n styleUrls: ['./labels-selector.component.scss'],\n standalone: true,\n imports: [SymbolComponent, NgSelectModule, LabelComponent, NgForOf, NgIf, FormsModule, AsyncPipe],\n})\nexport class LabelsSelectorComponent implements OnInit, OnChanges {\n @Input() addLabelEnabled: boolean = true;\n @Input() disabled: boolean = false;\n @Input() initialLabels: string[] = [];\n @Input() translation!: LabelsSelectorTranslation;\n @Input() loadingOnSearch: boolean = true;\n @Input() multipleEnabled: boolean = true;\n @Input({\n required: true,\n })\n searchLabelsFunction!: (val: string) => Observable<string[]>;\n\n @Output() createLabel = new EventEmitter<string>();\n @Output() deleteLabel = new EventEmitter<string>();\n @Output() selectLabels = new EventEmitter<string[]>();\n @Output() searchErrorMessage = new EventEmitter<string>();\n\n labels: string[] = [];\n labelsInput$: Subject<string> = new Subject<string>();\n labels$!: Observable<string[]>;\n labelsLoading = false;\n\n constructor(private changeDetectorRef: ChangeDetectorRef, public symbolRegistry: SymbolRegistry) {\n this.symbolRegistry.registerSymbols([apAddCircleBoldAlternate]);\n }\n\n ngOnInit(): void {\n this.labels = this.initialLabels;\n this.setSearchFunction();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes?.initialLabels?.currentValue) {\n this.labels = this.initialLabels;\n }\n }\n\n onCreateLabel(label: string): void {\n this.createLabel.emit(label);\n }\n\n onDeleteLabel(event: { value: string }) {\n this.deleteLabel.emit(event.value);\n }\n\n onOpen(): void {\n this.labelsInput$.next('');\n }\n\n onLabelsChange(): void {\n if (!this.multipleEnabled && this.labels.length > 1) {\n this.labels = [this.labels[this.labels.length - 1]];\n }\n this.selectLabels.emit(this.labels);\n this.changeDetectorRef.markForCheck();\n }\n\n setSearchFunction(): void {\n this.labels$ = this.labelsInput$.pipe(\n debounceTime(this.loadingOnSearch ? 400 : 0),\n distinctUntilChanged(),\n tap(() => {\n this.labelsLoading = true;\n }),\n switchMap((term: string) =>\n this.searchLabelsFunction(term).pipe(\n catchError(response => {\n this.searchErrorMessage.emit(response.error ? response.error.message : 'Error');\n return [];\n }),\n map(response => {\n this.labelsLoading = false;\n if (!response || Object.keys(response).length == 0) {\n return [];\n }\n return response;\n })\n )\n )\n );\n }\n}\n","<!-- @JRA [multiple]=\"false\" break the component display and behavior, we use [maxSelectedItems]=\"1\" as efficient workaround -->\n<ng-select\n class=\"labels-select\"\n appendTo=\"body\"\n [addTag]=\"addLabelEnabled\"\n [clearable]=\"false\"\n [disabled]=\"disabled\"\n [hideSelected]=\"true\"\n [items]=\"labels$ | async\"\n [loading]=\"labelsLoading\"\n [minTermLength]=\"0\"\n [multiple]=\"true\"\n [placeholder]=\"translation.placeholder\"\n [typeahead]=\"labelsInput$\"\n [(ngModel)]=\"labels\"\n (add)=\"onCreateLabel($event)\"\n (change)=\"onLabelsChange()\"\n (remove)=\"onDeleteLabel($event)\"\n (open)=\"onOpen()\">\n <ng-template\n let-items=\"items\"\n let-clear=\"clear\"\n ng-multi-label-tmp>\n <div\n *ngFor=\"let item of items\"\n class=\"labels-wrapper\">\n <ap-label\n [content]=\"item\"\n [selectorWidth]=\"221\"\n [removable]=\"!disabled\"\n (remove)=\"clear(item)\" />\n </div>\n </ng-template>\n <ng-template\n let-item=\"item\"\n let-search=\"searchTerm\"\n ng-option-tmp>\n <div *ngIf=\"search\">\n <b>{{ item.substring(0, search.length) }}</b>\n {{ item.substring(search.length, item.length) }}\n </div>\n <div *ngIf=\"!search\">{{ item }}</div>\n </ng-template>\n <ng-template\n let-search=\"searchTerm\"\n ng-tag-tmp>\n <div class=\"add-label\">\n <ap-symbol\n class=\"add-label-icon\"\n symbolId=\"add-circle-bold-alternate\"\n size=\"micro\" />\n <div class=\"add-label-preview\">{{ translation.createLabel }} \"{{ search }}\"</div>\n </div>\n </ng-template>\n</ng-select>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agorapulse-ui-components-labels-selector.mjs","sources":["../../../libs/ui-components/labels-selector/src/labels-selector.component.ts","../../../libs/ui-components/labels-selector/src/labels-selector.component.html","../../../libs/ui-components/labels-selector/src/agorapulse-ui-components-labels-selector.ts"],"sourcesContent":["import { LabelComponent } from '@agorapulse/ui-components/labels';\nimport { ApSelectModule } from '@agorapulse/ui-components/select';\nimport { SymbolComponent, SymbolRegistry, apAddCircleBoldAlternate } from '@agorapulse/ui-symbol';\nimport { AsyncPipe, NgForOf, NgIf } from '@angular/common';\nimport { ChangeDetectorRef, Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { Observable, Subject } from 'rxjs';\nimport { catchError, debounceTime, distinctUntilChanged, map, switchMap, tap } from 'rxjs/operators';\n\nexport interface LabelsSelectorTranslation {\n placeholder: string;\n createLabel: string;\n searchPlaceholder?: string;\n}\n\n@Component({\n selector: 'ap-labels-selector',\n templateUrl: './labels-selector.component.html',\n styleUrls: ['./labels-selector.component.scss'],\n standalone: true,\n imports: [SymbolComponent, ApSelectModule, LabelComponent, NgForOf, NgIf, FormsModule, AsyncPipe],\n})\nexport class LabelsSelectorComponent implements OnInit, OnChanges {\n @Input() addLabelEnabled: boolean = true;\n @Input() disabled: boolean = false;\n @Input() initialLabels: string[] = [];\n @Input() translation!: LabelsSelectorTranslation;\n @Input() loadingOnSearch: boolean = true;\n @Input() multipleEnabled: boolean = true;\n @Input({\n required: true,\n })\n searchLabelsFunction!: (val: string) => Observable<string[]>;\n\n @Output() createLabel = new EventEmitter<string>();\n @Output() deleteLabel = new EventEmitter<string>();\n @Output() selectLabels = new EventEmitter<string[]>();\n @Output() searchErrorMessage = new EventEmitter<string>();\n\n labels: string[] = [];\n labelsInput$: Subject<string> = new Subject<string>();\n labels$!: Observable<string[]>;\n labelsLoading = false;\n\n constructor(private changeDetectorRef: ChangeDetectorRef, public symbolRegistry: SymbolRegistry) {\n this.symbolRegistry.registerSymbols([apAddCircleBoldAlternate]);\n }\n\n ngOnInit(): void {\n this.labels = this.initialLabels;\n this.setSearchFunction();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes?.initialLabels?.currentValue) {\n this.labels = this.initialLabels;\n }\n }\n\n onCreateLabel(label: string): void {\n this.createLabel.emit(label);\n }\n\n onDeleteLabel(event: { value: string }) {\n this.deleteLabel.emit(event.value);\n }\n\n onOpen(): void {\n this.labelsInput$.next('');\n }\n\n onLabelsChange(): void {\n if (!this.multipleEnabled && this.labels.length > 1) {\n this.labels = [this.labels[this.labels.length - 1]];\n }\n this.selectLabels.emit(this.labels);\n this.changeDetectorRef.markForCheck();\n }\n\n setSearchFunction(): void {\n this.labels$ = this.labelsInput$.pipe(\n debounceTime(this.loadingOnSearch ? 400 : 0),\n distinctUntilChanged(),\n tap(() => {\n this.labelsLoading = true;\n }),\n switchMap((term: string) =>\n this.searchLabelsFunction(term).pipe(\n catchError(response => {\n this.searchErrorMessage.emit(response.error ? response.error.message : 'Error');\n return [];\n }),\n map(response => {\n this.labelsLoading = false;\n if (!response || Object.keys(response).length == 0) {\n return [];\n }\n return response;\n })\n )\n )\n );\n }\n}\n","<!-- @JRA [multiple]=\"false\" break the component display and behavior, we use [maxSelectedItems]=\"1\" as efficient workaround -->\n<ng-select\n #select\n class=\"labels-select\"\n apSelectMultiple\n appendTo=\"body\"\n [clearable]=\"false\"\n [disabled]=\"disabled\"\n [items]=\"labels$ | async\"\n [loading]=\"labelsLoading\"\n [minTermLength]=\"0\"\n [multiple]=\"true\"\n [placeholder]=\"translation.placeholder\"\n [typeahead]=\"labelsInput$\"\n [(ngModel)]=\"labels\"\n (change)=\"onLabelsChange()\"\n (remove)=\"onDeleteLabel($event)\"\n (open)=\"onOpen()\">\n <ng-template\n let-items=\"items\"\n let-clear=\"clear\"\n ng-multi-label-tmp>\n <ap-select-label-multiple\n displayType=\"label\"\n [selectedItems]=\"items\"\n (removeItem)=\"clear($event)\" />\n </ng-template>\n <ng-template\n let-item=\"item\"\n let-item$=\"item$\"\n ng-option-tmp>\n <ap-dropdown-item-multiple-one-line\n [text]=\"item\"\n [htmlId]=\"item$.htmlId\"\n [selected]=\"item$.selected\" />\n </ng-template>\n <ng-template\n let-searchTerm=\"searchTerm\"\n ng-header-tmp>\n <ap-dropdown-search-form\n [searchPlaceholder]=\"translation.searchPlaceholder ?? translation.placeholder\"\n [createText]=\"translation.createLabel\"\n [createNewEnabled]=\"addLabelEnabled\"\n [select]=\"select\"\n (createNew)=\"onCreateLabel($event)\" />\n </ng-template>\n</ng-select>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import { NgForOf, AsyncPipe } from '@angular/common';
|
|
1
|
+
import { NgForOf, AsyncPipe, NgIf } from '@angular/common';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { Injectable, Component } from '@angular/core';
|
|
3
|
+
import { Injectable, Component, ChangeDetectionStrategy } from '@angular/core';
|
|
4
4
|
import { trigger, transition, style, animate } from '@angular/animations';
|
|
5
5
|
import * as i2 from '@agorapulse/ui-symbol';
|
|
6
|
-
import { apClose, apMessagesBubbleDot, apCheckCircle, apAlertCircle, apRemoveCircle, SymbolComponent } from '@agorapulse/ui-symbol';
|
|
6
|
+
import { apClose, apMessagesBubbleDot, apCheckCircle, apAlertCircle, apRemoveCircle, apDeleteNoCircle, SymbolComponent } from '@agorapulse/ui-symbol';
|
|
7
7
|
import { BehaviorSubject } from 'rxjs';
|
|
8
8
|
import * as i1 from '@angular/platform-browser';
|
|
9
|
+
import * as i3 from '@angular/router';
|
|
9
10
|
|
|
10
11
|
const snackbarTypesMap = {
|
|
11
12
|
0: 'info',
|
|
@@ -32,14 +33,13 @@ class SnackbarsThreadService {
|
|
|
32
33
|
}
|
|
33
34
|
add(elem, timeout = 5000) {
|
|
34
35
|
const notification = {
|
|
36
|
+
actionName: elem.actionName,
|
|
37
|
+
navigateInternalUrl: elem.navigateInternalUrl,
|
|
35
38
|
id: Math.random().toString(36).substring(7) + Date.now().toString(),
|
|
36
39
|
snackbarType: elem.snackbarType,
|
|
37
40
|
snackbarText: this.domSanitizer.bypassSecurityTrustHtml(elem.snackbarText),
|
|
38
41
|
};
|
|
39
|
-
this._list.
|
|
40
|
-
while (this._list.length > 3) {
|
|
41
|
-
this.remove(this._list.slice(-1).pop()?.id);
|
|
42
|
-
}
|
|
42
|
+
this._list.push(notification);
|
|
43
43
|
this._emit();
|
|
44
44
|
if (timeout > 0) {
|
|
45
45
|
setTimeout(() => this.remove(notification.id), timeout);
|
|
@@ -66,69 +66,77 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImpo
|
|
|
66
66
|
class SnackbarsThreadComponent {
|
|
67
67
|
snackbarsThreadService;
|
|
68
68
|
symbolRegistry;
|
|
69
|
+
router;
|
|
69
70
|
SnackbarTypesMap = snackbarTypesMap;
|
|
70
71
|
SnackbarIconsMap = snackbarIconsMap;
|
|
71
|
-
constructor(snackbarsThreadService, symbolRegistry) {
|
|
72
|
+
constructor(snackbarsThreadService, symbolRegistry, router) {
|
|
72
73
|
this.snackbarsThreadService = snackbarsThreadService;
|
|
73
74
|
this.symbolRegistry = symbolRegistry;
|
|
74
|
-
this.
|
|
75
|
+
this.router = router;
|
|
76
|
+
this.symbolRegistry.registerSymbols([apClose, apMessagesBubbleDot, apCheckCircle, apAlertCircle, apRemoveCircle, apDeleteNoCircle]);
|
|
75
77
|
}
|
|
76
78
|
remove(id) {
|
|
77
79
|
this.snackbarsThreadService.remove(id);
|
|
78
80
|
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
+
onActionClick(navigateInternalUrl, id) {
|
|
82
|
+
this.snackbarsThreadService.remove(id);
|
|
83
|
+
this.router.navigateByUrl(navigateInternalUrl);
|
|
84
|
+
}
|
|
85
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: SnackbarsThreadComponent, deps: [{ token: SnackbarsThreadService }, { token: i2.SymbolRegistry }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
86
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.10", type: SnackbarsThreadComponent, isStandalone: true, selector: "ap-snackbars-thread", ngImport: i0, template: "<div class=\"thread-container\">\n <div\n *ngFor=\"let el of snackbarsThreadService.snackbarList | async\"\n @fadeAnimation\n class=\"item {{ SnackbarTypesMap[el.snackbarType] }}\">\n <div class=\"left\">\n <div class=\"icon {{ SnackbarTypesMap[el.snackbarType] }}\">\n <ap-symbol\n size=\"micro\"\n [attr.aria-label]=\"SnackbarTypesMap[el.snackbarType]\"\n [symbolId]=\"SnackbarIconsMap[el.snackbarType]\" />\n </div>\n <div class=\"text\">\n <div [innerHTML]=\"el.snackbarText\"></div>\n </div>\n </div>\n <div class=\"right\">\n <ng-container *ngIf=\"el.navigateInternalUrl?.length && el.actionName?.length\">\n <a\n class=\"standalone link\"\n role=\"link\"\n tabindex=\"0\"\n (click)=\"onActionClick(el.navigateInternalUrl ?? '', el.id)\"\n (keyup)=\"onActionClick(el.navigateInternalUrl ?? '', el.id)\">\n {{el.actionName}}\n </a>\n </ng-container>\n <div\n class=\"close\"\n tabindex=\"0\"\n (click)=\"remove(el.id)\"\n (keyup)=\"remove(el.id)\">\n <ap-symbol\n aria-label=\"close-snackbar\"\n size=\"20px\"\n symbolId=\"delete-no-circle\" />\n </div>\n </div>\n </div>\n</div>\n", styles: ["[color=facebook]{color:#0866ff}[bgcolor=facebook],[hcolor=facebook]:hover{background-color:#0866ff}[border=facebook]{border:1px solid #0866ff}[color=google]{color:#4e85e8}[bgcolor=google],[hcolor=google]:hover{background-color:#4e85e8}[border=google]{border:1px solid #4e85e8}[color=instagram]{color:#e1306c}[bgcolor=instagram],[hcolor=instagram]:hover{background-color:#e1306c}[border=instagram]{border:1px solid #e1306c}[color=instagrammagenta]{color:#c13584}[bgcolor=instagrammagenta],[hcolor=instagrammagenta]:hover{background-color:#c13584}[border=instagrammagenta]{border:1px solid #c13584}[color=instagramblue]{color:#5851db}[bgcolor=instagramblue],[hcolor=instagramblue]:hover{background-color:#5851db}[border=instagramblue]{border:1px solid #5851db}[color=instagrampurple]{color:#833ab4}[bgcolor=instagrampurple],[hcolor=instagrampurple]:hover{background-color:#833ab4}[border=instagrampurple]{border:1px solid #833ab4}[color=instagramorange]{color:#f56040}[bgcolor=instagramorange],[hcolor=instagramorange]:hover{background-color:#f56040}[border=instagramorange]{border:1px solid #f56040}[color=instagramyellow]{color:#ffdc80}[bgcolor=instagramyellow],[hcolor=instagramyellow]:hover{background-color:#ffdc80}[border=instagramyellow]{border:1px solid #ffdc80}[color=linkedin]{color:#2c67bc}[bgcolor=linkedin],[hcolor=linkedin]:hover{background-color:#2c67bc}[border=linkedin]{border:1px solid #2c67bc}[color=twitter]{color:#55acee}[bgcolor=twitter],[hcolor=twitter]:hover{background-color:#55acee}[border=twitter]{border:1px solid #55acee}[color=youtube]{color:red}[bgcolor=youtube],[hcolor=youtube]:hover{background-color:red}[border=youtube]{border:1px solid #ff0000}[color=blood-orange]{color:#ff4d00}[bgcolor=blood-orange],[hcolor=blood-orange]:hover{background-color:#ff4d00}[border=blood-orange]{border:1px solid #ff4d00}[color=pinkish-orange]{color:#ff7b49}[bgcolor=pinkish-orange],[hcolor=pinkish-orange]:hover{background-color:#ff7b49}[border=pinkish-orange]{border:1px solid #ff7b49}[color=charcoal-grey]{color:#2a2f34}[bgcolor=charcoal-grey],[hcolor=charcoal-grey]:hover{background-color:#2a2f34}[border=charcoal-grey]{border:1px solid #2a2f34}[color=azure]{color:#00aeef}[bgcolor=azure],[hcolor=azure]:hover{background-color:#00aeef}[border=azure]{border:1px solid #00aeef}[color=light-azure]{color:#eaf5fd}[bgcolor=light-azure],[hcolor=light-azure]:hover{background-color:#eaf5fd}[border=light-azure]{border:1px solid #eaf5fd}[color=blue-grey]{color:#8d98a9}[bgcolor=blue-grey],[hcolor=blue-grey]:hover{background-color:#8d98a9}[border=blue-grey]{border:1px solid #8d98a9}[color=silver]{color:#ced0da}[bgcolor=silver],[hcolor=silver]:hover{background-color:#ced0da}[border=silver]{border:1px solid #ced0da}[color=pale-grey]{color:#dfe3e9}[bgcolor=pale-grey],[hcolor=pale-grey]:hover{background-color:#dfe3e9}[border=pale-grey]{border:1px solid #dfe3e9}[color=grey-white]{color:#f5f7f8}[bgcolor=grey-white],[hcolor=grey-white]:hover{background-color:#f5f7f8}[border=grey-white]{border:1px solid #f5f7f8}[color=cool-grey]{color:#b4bbc6}[bgcolor=cool-grey],[hcolor=cool-grey]:hover{background-color:#b4bbc6}[border=cool-grey]{border:1px solid #b4bbc6}[color=black]{color:#344563}[bgcolor=black],[hcolor=black]:hover{background-color:#344563}[border=black]{border:1px solid #344563}[color=grey-blue]{color:#68768c}[bgcolor=grey-blue],[hcolor=grey-blue]:hover{background-color:#68768c}[border=grey-blue]{border:1px solid #68768c}[color=strawberry]{color:#f4282d}[bgcolor=strawberry],[hcolor=strawberry]:hover{background-color:#f4282d}[border=strawberry]{border:1px solid #f4282d}[color=light-strawberry]{color:#f8eded}[bgcolor=light-strawberry],[hcolor=light-strawberry]:hover{background-color:#f8eded}[border=light-strawberry]{border:1px solid #f8eded}[color=white]{color:#fff}[bgcolor=white],[hcolor=white]:hover{background-color:#fff}[border=white]{border:1px solid #ffffff}[color=cool-green]{color:#33c15d}[bgcolor=cool-green],[hcolor=cool-green]:hover{background-color:#33c15d}[border=cool-green]{border:1px solid #33c15d}[color=light-green]{color:#ebfaef}[bgcolor=light-green],[hcolor=light-green]:hover{background-color:#ebfaef}[border=light-green]{border:1px solid #ebfaef}[color=transparent]{color:transparent}[bgcolor=transparent],[hcolor=transparent]:hover{background-color:transparent}[border=transparent]{border:1px solid transparent}[color=c0]{color:#a566a5}[bgcolor=c0],[hcolor=c0]:hover{background-color:#a566a5}[border=c0]{border:1px solid #a566a5}[color=c1]{color:#c7ab82}[bgcolor=c1],[hcolor=c1]:hover{background-color:#c7ab82}[border=c1]{border:1px solid #c7ab82}[color=c2]{color:#f2713c}[bgcolor=c2],[hcolor=c2]:hover{background-color:#f2713c}[border=c2]{border:1px solid #f2713c}[color=c3]{color:#ffd006}[bgcolor=c3],[hcolor=c3]:hover{background-color:#ffd006}[border=c3]{border:1px solid #ffd006}[color=c4]{color:#94c5aa}[bgcolor=c4],[hcolor=c4]:hover{background-color:#94c5aa}[border=c4]{border:1px solid #94c5aa}[color=c5]{color:#2a9d8f}[bgcolor=c5],[hcolor=c5]:hover{background-color:#2a9d8f}[border=c5]{border:1px solid #2a9d8f}[color=c6]{color:#78acd8}[bgcolor=c6],[hcolor=c6]:hover{background-color:#78acd8}[border=c6]{border:1px solid #78acd8}[color=c7]{color:#525a9e}[bgcolor=c7],[hcolor=c7]:hover{background-color:#525a9e}[border=c7]{border:1px solid #525a9e}[color=c8]{color:#6a2459}[bgcolor=c8],[hcolor=c8]:hover{background-color:#6a2459}[border=c8]{border:1px solid #6a2459}[color=c9]{color:#74729e}[bgcolor=c9],[hcolor=c9]:hover{background-color:#74729e}[border=c9]{border:1px solid #74729e}.thread-container{position:absolute;top:68px;right:var(--ref-spacing-lg);width:var(--comp-snackbar-width);z-index:999999999;gap:var(--comp-snackbar-spacing);display:flex;flex-direction:column;height:calc(100% - 68px)}.thread-container .item{align-items:center;height:auto;padding:var(--comp-snackbar-padding-vertical) var(--comp-snackbar-padding-horizontal);box-sizing:border-box;box-shadow:var(--comp-snackbar-shadow);border-radius:var(--comp-snackbar-border-radius);display:flex;flex-direction:row;justify-content:space-between;gap:var(--comp-snackbar-spacing)}.thread-container .item.success{background-color:var(--comp-snackbar-success-background-color)}.thread-container .item.error{background-color:var(--comp-snackbar-error-background-color)}.thread-container .item .left,.thread-container .item .right{display:flex;gap:var(--comp-snackbar-spacing)}.thread-container .item .left .icon{display:flex;justify-content:center;align-items:center}.thread-container .item .left .icon.success{color:var(--comp-snackbar-success-icon-color)}.thread-container .item .left .icon.error{color:var(--comp-snackbar-error-icon-color)}.thread-container .item .left .text{width:auto;display:flex;font-family:var(--comp-snackbar-text-style-font-family);font-size:var(--comp-snackbar-text-style-size);font-weight:var(--comp-snackbar-text-style-font-weight);line-height:var(--comp-snackbar-text-style-line-height);justify-content:flex-start;align-items:center;overflow-wrap:anywhere;color:var(--comp-snackbar-text-color)}.thread-container .item .right .link{width:max-content}.thread-container .item .right .close{height:20px;width:20px;display:flex;justify-content:center;align-items:center}.thread-container .item .right .close ap-symbol{color:var(--ref-color-grey-100)}.thread-container .item .right .close:hover{background:#3445631a;border-radius:50%;cursor:pointer}\n"], dependencies: [{ kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["color", "symbolId", "size"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [
|
|
81
87
|
trigger('fadeAnimation', [
|
|
82
88
|
transition(':enter', [
|
|
83
89
|
style({
|
|
84
90
|
height: 0,
|
|
85
91
|
minHeight: 0,
|
|
86
92
|
opacity: 0,
|
|
87
|
-
transform: 'translateY(
|
|
93
|
+
transform: 'translateY(25%)',
|
|
88
94
|
padding: 0,
|
|
89
95
|
}),
|
|
90
96
|
// padding and min-height should be the same as in scss file
|
|
91
|
-
animate('300ms ease-in', style({
|
|
97
|
+
animate('300ms ease-in', style({
|
|
98
|
+
height: '*',
|
|
99
|
+
minHeight: '*',
|
|
100
|
+
padding: 'var(--comp-snackbar-padding-vertical) var(--comp-snackbar-padding-horizontal)'
|
|
101
|
+
})),
|
|
92
102
|
animate('200ms ease-in', style({ opacity: 0.5, transform: 'translateY(0%)' })),
|
|
93
103
|
animate('200ms ease-in', style({ opacity: 1 })),
|
|
94
104
|
]),
|
|
95
105
|
transition(':leave', [
|
|
96
|
-
animate('300ms ease-out', style({
|
|
97
|
-
|
|
98
|
-
transform: 'translateY(-5%)',
|
|
99
|
-
})),
|
|
100
|
-
animate('300ms ease-out', style({ height: 0, minHeight: 0 })),
|
|
106
|
+
animate('300ms ease-out', style({ opacity: 0.0, transform: 'translateY(-5%)' })),
|
|
107
|
+
animate('300ms ease-out', style({ height: 0, minHeight: 0, position: 'fixed' })),
|
|
101
108
|
]),
|
|
102
109
|
]),
|
|
103
|
-
] });
|
|
110
|
+
], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
104
111
|
}
|
|
105
112
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: SnackbarsThreadComponent, decorators: [{
|
|
106
113
|
type: Component,
|
|
107
|
-
args: [{ selector: 'ap-snackbars-thread', standalone: true, imports: [SymbolComponent, NgForOf, AsyncPipe], animations: [
|
|
114
|
+
args: [{ selector: 'ap-snackbars-thread', standalone: true, imports: [SymbolComponent, NgForOf, AsyncPipe, NgIf], changeDetection: ChangeDetectionStrategy.OnPush, animations: [
|
|
108
115
|
trigger('fadeAnimation', [
|
|
109
116
|
transition(':enter', [
|
|
110
117
|
style({
|
|
111
118
|
height: 0,
|
|
112
119
|
minHeight: 0,
|
|
113
120
|
opacity: 0,
|
|
114
|
-
transform: 'translateY(
|
|
121
|
+
transform: 'translateY(25%)',
|
|
115
122
|
padding: 0,
|
|
116
123
|
}),
|
|
117
124
|
// padding and min-height should be the same as in scss file
|
|
118
|
-
animate('300ms ease-in', style({
|
|
125
|
+
animate('300ms ease-in', style({
|
|
126
|
+
height: '*',
|
|
127
|
+
minHeight: '*',
|
|
128
|
+
padding: 'var(--comp-snackbar-padding-vertical) var(--comp-snackbar-padding-horizontal)'
|
|
129
|
+
})),
|
|
119
130
|
animate('200ms ease-in', style({ opacity: 0.5, transform: 'translateY(0%)' })),
|
|
120
131
|
animate('200ms ease-in', style({ opacity: 1 })),
|
|
121
132
|
]),
|
|
122
133
|
transition(':leave', [
|
|
123
|
-
animate('300ms ease-out', style({
|
|
124
|
-
|
|
125
|
-
transform: 'translateY(-5%)',
|
|
126
|
-
})),
|
|
127
|
-
animate('300ms ease-out', style({ height: 0, minHeight: 0 })),
|
|
134
|
+
animate('300ms ease-out', style({ opacity: 0.0, transform: 'translateY(-5%)' })),
|
|
135
|
+
animate('300ms ease-out', style({ height: 0, minHeight: 0, position: 'fixed' })),
|
|
128
136
|
]),
|
|
129
137
|
]),
|
|
130
|
-
], template: "<div class=\"thread-container\">\n <div\n *ngFor=\"let el of snackbarsThreadService.snackbarList | async\"\n @fadeAnimation\n class=\"item {{ SnackbarTypesMap[el.snackbarType] }}\">\n <div class=\"left\">\n <div class=\"icon {{ SnackbarTypesMap[el.snackbarType] }}\">\n <ap-symbol\n [
|
|
131
|
-
}], ctorParameters: function () { return [{ type: SnackbarsThreadService }, { type: i2.SymbolRegistry }]; } });
|
|
138
|
+
], template: "<div class=\"thread-container\">\n <div\n *ngFor=\"let el of snackbarsThreadService.snackbarList | async\"\n @fadeAnimation\n class=\"item {{ SnackbarTypesMap[el.snackbarType] }}\">\n <div class=\"left\">\n <div class=\"icon {{ SnackbarTypesMap[el.snackbarType] }}\">\n <ap-symbol\n size=\"micro\"\n [attr.aria-label]=\"SnackbarTypesMap[el.snackbarType]\"\n [symbolId]=\"SnackbarIconsMap[el.snackbarType]\" />\n </div>\n <div class=\"text\">\n <div [innerHTML]=\"el.snackbarText\"></div>\n </div>\n </div>\n <div class=\"right\">\n <ng-container *ngIf=\"el.navigateInternalUrl?.length && el.actionName?.length\">\n <a\n class=\"standalone link\"\n role=\"link\"\n tabindex=\"0\"\n (click)=\"onActionClick(el.navigateInternalUrl ?? '', el.id)\"\n (keyup)=\"onActionClick(el.navigateInternalUrl ?? '', el.id)\">\n {{el.actionName}}\n </a>\n </ng-container>\n <div\n class=\"close\"\n tabindex=\"0\"\n (click)=\"remove(el.id)\"\n (keyup)=\"remove(el.id)\">\n <ap-symbol\n aria-label=\"close-snackbar\"\n size=\"20px\"\n symbolId=\"delete-no-circle\" />\n </div>\n </div>\n </div>\n</div>\n", styles: ["[color=facebook]{color:#0866ff}[bgcolor=facebook],[hcolor=facebook]:hover{background-color:#0866ff}[border=facebook]{border:1px solid #0866ff}[color=google]{color:#4e85e8}[bgcolor=google],[hcolor=google]:hover{background-color:#4e85e8}[border=google]{border:1px solid #4e85e8}[color=instagram]{color:#e1306c}[bgcolor=instagram],[hcolor=instagram]:hover{background-color:#e1306c}[border=instagram]{border:1px solid #e1306c}[color=instagrammagenta]{color:#c13584}[bgcolor=instagrammagenta],[hcolor=instagrammagenta]:hover{background-color:#c13584}[border=instagrammagenta]{border:1px solid #c13584}[color=instagramblue]{color:#5851db}[bgcolor=instagramblue],[hcolor=instagramblue]:hover{background-color:#5851db}[border=instagramblue]{border:1px solid #5851db}[color=instagrampurple]{color:#833ab4}[bgcolor=instagrampurple],[hcolor=instagrampurple]:hover{background-color:#833ab4}[border=instagrampurple]{border:1px solid #833ab4}[color=instagramorange]{color:#f56040}[bgcolor=instagramorange],[hcolor=instagramorange]:hover{background-color:#f56040}[border=instagramorange]{border:1px solid #f56040}[color=instagramyellow]{color:#ffdc80}[bgcolor=instagramyellow],[hcolor=instagramyellow]:hover{background-color:#ffdc80}[border=instagramyellow]{border:1px solid #ffdc80}[color=linkedin]{color:#2c67bc}[bgcolor=linkedin],[hcolor=linkedin]:hover{background-color:#2c67bc}[border=linkedin]{border:1px solid #2c67bc}[color=twitter]{color:#55acee}[bgcolor=twitter],[hcolor=twitter]:hover{background-color:#55acee}[border=twitter]{border:1px solid #55acee}[color=youtube]{color:red}[bgcolor=youtube],[hcolor=youtube]:hover{background-color:red}[border=youtube]{border:1px solid #ff0000}[color=blood-orange]{color:#ff4d00}[bgcolor=blood-orange],[hcolor=blood-orange]:hover{background-color:#ff4d00}[border=blood-orange]{border:1px solid #ff4d00}[color=pinkish-orange]{color:#ff7b49}[bgcolor=pinkish-orange],[hcolor=pinkish-orange]:hover{background-color:#ff7b49}[border=pinkish-orange]{border:1px solid #ff7b49}[color=charcoal-grey]{color:#2a2f34}[bgcolor=charcoal-grey],[hcolor=charcoal-grey]:hover{background-color:#2a2f34}[border=charcoal-grey]{border:1px solid #2a2f34}[color=azure]{color:#00aeef}[bgcolor=azure],[hcolor=azure]:hover{background-color:#00aeef}[border=azure]{border:1px solid #00aeef}[color=light-azure]{color:#eaf5fd}[bgcolor=light-azure],[hcolor=light-azure]:hover{background-color:#eaf5fd}[border=light-azure]{border:1px solid #eaf5fd}[color=blue-grey]{color:#8d98a9}[bgcolor=blue-grey],[hcolor=blue-grey]:hover{background-color:#8d98a9}[border=blue-grey]{border:1px solid #8d98a9}[color=silver]{color:#ced0da}[bgcolor=silver],[hcolor=silver]:hover{background-color:#ced0da}[border=silver]{border:1px solid #ced0da}[color=pale-grey]{color:#dfe3e9}[bgcolor=pale-grey],[hcolor=pale-grey]:hover{background-color:#dfe3e9}[border=pale-grey]{border:1px solid #dfe3e9}[color=grey-white]{color:#f5f7f8}[bgcolor=grey-white],[hcolor=grey-white]:hover{background-color:#f5f7f8}[border=grey-white]{border:1px solid #f5f7f8}[color=cool-grey]{color:#b4bbc6}[bgcolor=cool-grey],[hcolor=cool-grey]:hover{background-color:#b4bbc6}[border=cool-grey]{border:1px solid #b4bbc6}[color=black]{color:#344563}[bgcolor=black],[hcolor=black]:hover{background-color:#344563}[border=black]{border:1px solid #344563}[color=grey-blue]{color:#68768c}[bgcolor=grey-blue],[hcolor=grey-blue]:hover{background-color:#68768c}[border=grey-blue]{border:1px solid #68768c}[color=strawberry]{color:#f4282d}[bgcolor=strawberry],[hcolor=strawberry]:hover{background-color:#f4282d}[border=strawberry]{border:1px solid #f4282d}[color=light-strawberry]{color:#f8eded}[bgcolor=light-strawberry],[hcolor=light-strawberry]:hover{background-color:#f8eded}[border=light-strawberry]{border:1px solid #f8eded}[color=white]{color:#fff}[bgcolor=white],[hcolor=white]:hover{background-color:#fff}[border=white]{border:1px solid #ffffff}[color=cool-green]{color:#33c15d}[bgcolor=cool-green],[hcolor=cool-green]:hover{background-color:#33c15d}[border=cool-green]{border:1px solid #33c15d}[color=light-green]{color:#ebfaef}[bgcolor=light-green],[hcolor=light-green]:hover{background-color:#ebfaef}[border=light-green]{border:1px solid #ebfaef}[color=transparent]{color:transparent}[bgcolor=transparent],[hcolor=transparent]:hover{background-color:transparent}[border=transparent]{border:1px solid transparent}[color=c0]{color:#a566a5}[bgcolor=c0],[hcolor=c0]:hover{background-color:#a566a5}[border=c0]{border:1px solid #a566a5}[color=c1]{color:#c7ab82}[bgcolor=c1],[hcolor=c1]:hover{background-color:#c7ab82}[border=c1]{border:1px solid #c7ab82}[color=c2]{color:#f2713c}[bgcolor=c2],[hcolor=c2]:hover{background-color:#f2713c}[border=c2]{border:1px solid #f2713c}[color=c3]{color:#ffd006}[bgcolor=c3],[hcolor=c3]:hover{background-color:#ffd006}[border=c3]{border:1px solid #ffd006}[color=c4]{color:#94c5aa}[bgcolor=c4],[hcolor=c4]:hover{background-color:#94c5aa}[border=c4]{border:1px solid #94c5aa}[color=c5]{color:#2a9d8f}[bgcolor=c5],[hcolor=c5]:hover{background-color:#2a9d8f}[border=c5]{border:1px solid #2a9d8f}[color=c6]{color:#78acd8}[bgcolor=c6],[hcolor=c6]:hover{background-color:#78acd8}[border=c6]{border:1px solid #78acd8}[color=c7]{color:#525a9e}[bgcolor=c7],[hcolor=c7]:hover{background-color:#525a9e}[border=c7]{border:1px solid #525a9e}[color=c8]{color:#6a2459}[bgcolor=c8],[hcolor=c8]:hover{background-color:#6a2459}[border=c8]{border:1px solid #6a2459}[color=c9]{color:#74729e}[bgcolor=c9],[hcolor=c9]:hover{background-color:#74729e}[border=c9]{border:1px solid #74729e}.thread-container{position:absolute;top:68px;right:var(--ref-spacing-lg);width:var(--comp-snackbar-width);z-index:999999999;gap:var(--comp-snackbar-spacing);display:flex;flex-direction:column;height:calc(100% - 68px)}.thread-container .item{align-items:center;height:auto;padding:var(--comp-snackbar-padding-vertical) var(--comp-snackbar-padding-horizontal);box-sizing:border-box;box-shadow:var(--comp-snackbar-shadow);border-radius:var(--comp-snackbar-border-radius);display:flex;flex-direction:row;justify-content:space-between;gap:var(--comp-snackbar-spacing)}.thread-container .item.success{background-color:var(--comp-snackbar-success-background-color)}.thread-container .item.error{background-color:var(--comp-snackbar-error-background-color)}.thread-container .item .left,.thread-container .item .right{display:flex;gap:var(--comp-snackbar-spacing)}.thread-container .item .left .icon{display:flex;justify-content:center;align-items:center}.thread-container .item .left .icon.success{color:var(--comp-snackbar-success-icon-color)}.thread-container .item .left .icon.error{color:var(--comp-snackbar-error-icon-color)}.thread-container .item .left .text{width:auto;display:flex;font-family:var(--comp-snackbar-text-style-font-family);font-size:var(--comp-snackbar-text-style-size);font-weight:var(--comp-snackbar-text-style-font-weight);line-height:var(--comp-snackbar-text-style-line-height);justify-content:flex-start;align-items:center;overflow-wrap:anywhere;color:var(--comp-snackbar-text-color)}.thread-container .item .right .link{width:max-content}.thread-container .item .right .close{height:20px;width:20px;display:flex;justify-content:center;align-items:center}.thread-container .item .right .close ap-symbol{color:var(--ref-color-grey-100)}.thread-container .item .right .close:hover{background:#3445631a;border-radius:50%;cursor:pointer}\n"] }]
|
|
139
|
+
}], ctorParameters: function () { return [{ type: SnackbarsThreadService }, { type: i2.SymbolRegistry }, { type: i3.Router }]; } });
|
|
132
140
|
|
|
133
141
|
/**
|
|
134
142
|
* We use enum to avoid problem with isolatedModules when export const enum
|
|
@@ -149,21 +157,11 @@ class CodeStatus {
|
|
|
149
157
|
this.snackbarType = snackbarType;
|
|
150
158
|
}
|
|
151
159
|
}
|
|
152
|
-
class CodeStatusInfo extends CodeStatus {
|
|
153
|
-
constructor(snackbarText) {
|
|
154
|
-
super(snackbarText, 0);
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
160
|
class CodeStatusSuccess extends CodeStatus {
|
|
158
161
|
constructor(snackbarText) {
|
|
159
162
|
super(snackbarText, 1);
|
|
160
163
|
}
|
|
161
164
|
}
|
|
162
|
-
class CodeStatusWarning extends CodeStatus {
|
|
163
|
-
constructor(snackbarText) {
|
|
164
|
-
super(snackbarText, 2);
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
165
|
class CodeStatusError extends CodeStatus {
|
|
168
166
|
constructor(snackbarText) {
|
|
169
167
|
super(snackbarText, 3);
|
|
@@ -172,15 +170,15 @@ class CodeStatusError extends CodeStatus {
|
|
|
172
170
|
function generateCodeStatus(text, type) {
|
|
173
171
|
switch (type) {
|
|
174
172
|
case 'info':
|
|
175
|
-
return new
|
|
173
|
+
return new CodeStatusSuccess(text);
|
|
176
174
|
case 'success':
|
|
177
175
|
return new CodeStatusSuccess(text);
|
|
178
176
|
case 'warning':
|
|
179
|
-
return new
|
|
177
|
+
return new CodeStatusError(text);
|
|
180
178
|
case 'error':
|
|
181
179
|
return new CodeStatusError(text);
|
|
182
180
|
default:
|
|
183
|
-
return new
|
|
181
|
+
return new CodeStatusSuccess(text);
|
|
184
182
|
}
|
|
185
183
|
}
|
|
186
184
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agorapulse-ui-components-snackbars-thread.mjs","sources":["../../../libs/ui-components/snackbars-thread/src/utils/const/snackbars-thread.const.ts","../../../libs/ui-components/snackbars-thread/src/service/snackbars-thread.service.ts","../../../libs/ui-components/snackbars-thread/src/component/snackbars-thread.component.ts","../../../libs/ui-components/snackbars-thread/src/component/snackbars-thread.component.html","../../../libs/ui-components/snackbars-thread/src/model/snackbars-thread.model.ts","../../../libs/ui-components/snackbars-thread/src/agorapulse-ui-components-snackbars-thread.ts"],"sourcesContent":["import { agorapulseSymbol } from '@agorapulse/ui-symbol';\n\nexport const snackbarTypesMap = {\n 0: 'info',\n 1: 'success',\n 2: 'warning',\n 3: 'error',\n};\n\nexport const snackbarIconsMap: { [k: number]: agorapulseSymbol } = {\n 0: 'messages-bubble-dot',\n 1: 'check-circle',\n 2: 'alert-circle',\n 3: 'remove-circle',\n};\n","import { Injectable } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { BehaviorSubject } from 'rxjs';\nimport { SnackbarsThreadBase, SnackbarsThreadComplete } from '../model/snackbars-thread.model';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SnackbarsThreadService {\n private _list: SnackbarsThreadComplete[] = [];\n snackbarList = new BehaviorSubject<SnackbarsThreadComplete[]>([]);\n\n constructor(private domSanitizer: DomSanitizer) {}\n\n private _emit() {\n this.snackbarList.next(this._list);\n }\n\n add(elem: SnackbarsThreadBase, timeout: number = 5000): void {\n const notification: SnackbarsThreadComplete = {\n id: Math.random().toString(36).substring(7) + Date.now().toString(),\n snackbarType: elem.snackbarType,\n snackbarText: this.domSanitizer.bypassSecurityTrustHtml(elem.snackbarText as string),\n };\n this._list.unshift(notification);\n while (this._list.length > 3) {\n this.remove(this._list.slice(-1).pop()?.id);\n }\n this._emit();\n\n if (timeout > 0) {\n setTimeout(() => this.remove(notification.id), timeout);\n }\n }\n\n remove(id: string | undefined): void {\n if (!id) {\n return;\n }\n const index = this._list.findIndex(el => el.id === id);\n index > -1 && this._list.splice(index, 1);\n this._emit();\n }\n}\n","import { AsyncPipe, NgForOf } from '@angular/common';\nimport { Component } from '@angular/core';\nimport { animate, style, transition, trigger } from '@angular/animations';\nimport { SnackbarsThreadService } from '../service/snackbars-thread.service';\nimport { snackbarIconsMap, snackbarTypesMap } from '../utils/const/snackbars-thread.const';\nimport {\n SymbolComponent,\n apAlertCircle,\n apCheckCircle,\n apClose,\n apMessagesBubbleDot,\n apRemoveCircle,\n SymbolRegistry,\n} from '@agorapulse/ui-symbol';\n\n@Component({\n selector: 'ap-snackbars-thread',\n templateUrl: './snackbars-thread.component.html',\n styleUrls: ['./snackbars-thread.component.scss'],\n standalone: true,\n imports: [SymbolComponent, NgForOf, AsyncPipe],\n animations: [\n trigger('fadeAnimation', [\n transition(':enter', [\n style({\n height: 0,\n minHeight: 0,\n opacity: 0,\n transform: 'translateY(-5%)',\n padding: 0,\n }),\n // padding and min-height should be the same as in scss file\n animate('300ms ease-in', style({ height: '*', minHeight: '72px', padding: '7px 3px 7px 7px' })),\n animate('200ms ease-in', style({ opacity: 0.5, transform: 'translateY(0%)' })),\n animate('200ms ease-in', style({ opacity: 1 })),\n ]),\n transition(':leave', [\n animate(\n '300ms ease-out',\n style({\n opacity: 0,\n transform: 'translateY(-5%)',\n })\n ),\n animate('300ms ease-out', style({ height: 0, minHeight: 0 })),\n ]),\n ]),\n ],\n})\nexport class SnackbarsThreadComponent {\n SnackbarTypesMap = snackbarTypesMap;\n SnackbarIconsMap = snackbarIconsMap;\n\n constructor(public snackbarsThreadService: SnackbarsThreadService, public symbolRegistry: SymbolRegistry) {\n this.symbolRegistry.registerSymbols([apClose, apMessagesBubbleDot, apCheckCircle, apAlertCircle, apRemoveCircle]);\n }\n\n remove(id: string): void {\n this.snackbarsThreadService.remove(id);\n }\n}\n","<div class=\"thread-container\">\n <div\n *ngFor=\"let el of snackbarsThreadService.snackbarList | async\"\n @fadeAnimation\n class=\"item {{ SnackbarTypesMap[el.snackbarType] }}\">\n <div class=\"left\">\n <div class=\"icon {{ SnackbarTypesMap[el.snackbarType] }}\">\n <ap-symbol\n [symbolId]=\"SnackbarIconsMap[el.snackbarType]\"\n [color]=\"'white'\"\n [size]=\"'mini'\" />\n </div>\n <div class=\"text\">\n <div [innerHTML]=\"el.snackbarText\"></div>\n </div>\n </div>\n <div\n class=\"close\"\n (click)=\"remove(el.id)\">\n <div class=\"{{ SnackbarTypesMap[el.snackbarType] }}\">\n <ap-symbol\n [symbolId]=\"'close'\"\n [size]=\"'12'\" />\n </div>\n </div>\n </div>\n</div>\n","import { SafeHtml } from '@angular/platform-browser';\n\n/**\n * Info - 0\n * Success - 1\n * Warning - 2\n * Error - 3\n */\nexport type externalSnackbarTypeAllowed = 'info' | 'success' | 'warning' | 'error';\ntype internalSnackbarTypeAllowed = 0 | 1 | 2 | 3;\n\n/**\n * We use enum to avoid problem with isolatedModules when export const enum\n * https://ncjamieson.com/dont-export-const-enums/\n */\nexport enum SnackbarTypeValues {\n INFO = 'info',\n SUCCESS = 'success',\n WARNING = 'warning',\n ERROR = 'error',\n}\n\nexport interface SnackbarsThreadBase {\n snackbarType: internalSnackbarTypeAllowed;\n snackbarText: string | SafeHtml;\n}\n\nexport interface SnackbarsThreadComplete extends SnackbarsThreadBase {\n id: string;\n}\n\nexport abstract class CodeStatus {\n protected constructor(public snackbarText: string, public snackbarType: internalSnackbarTypeAllowed) {}\n}\n\nclass CodeStatusInfo extends CodeStatus {\n constructor(snackbarText: string) {\n super(snackbarText, 0);\n }\n}\n\nclass CodeStatusSuccess extends CodeStatus {\n constructor(snackbarText: string) {\n super(snackbarText, 1);\n }\n}\n\nclass CodeStatusWarning extends CodeStatus {\n constructor(snackbarText: string) {\n super(snackbarText, 2);\n }\n}\n\nclass CodeStatusError extends CodeStatus {\n constructor(snackbarText: string) {\n super(snackbarText, 3);\n }\n}\n\nexport function generateCodeStatus(text: string, type: externalSnackbarTypeAllowed): CodeStatus {\n switch (type) {\n case 'info':\n return new CodeStatusInfo(text);\n case 'success':\n return new CodeStatusSuccess(text);\n case 'warning':\n return new CodeStatusWarning(text);\n case 'error':\n return new CodeStatusError(text);\n default:\n return new CodeStatusInfo(text);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.SnackbarsThreadService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agorapulse-ui-components-snackbars-thread.mjs","sources":["../../../libs/ui-components/snackbars-thread/src/utils/const/snackbars-thread.const.ts","../../../libs/ui-components/snackbars-thread/src/service/snackbars-thread.service.ts","../../../libs/ui-components/snackbars-thread/src/component/snackbars-thread.component.ts","../../../libs/ui-components/snackbars-thread/src/component/snackbars-thread.component.html","../../../libs/ui-components/snackbars-thread/src/model/snackbars-thread.model.ts","../../../libs/ui-components/snackbars-thread/src/agorapulse-ui-components-snackbars-thread.ts"],"sourcesContent":["import { agorapulseSymbol } from '@agorapulse/ui-symbol';\n\nexport const snackbarTypesMap = {\n 0: 'info',\n 1: 'success',\n 2: 'warning',\n 3: 'error',\n};\n\nexport const snackbarIconsMap: { [k: number]: agorapulseSymbol } = {\n 0: 'messages-bubble-dot',\n 1: 'check-circle',\n 2: 'alert-circle',\n 3: 'remove-circle',\n};\n","import { Injectable } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { BehaviorSubject } from 'rxjs';\nimport { SnackbarsThreadBase, SnackbarsThreadComplete } from '../model/snackbars-thread.model';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SnackbarsThreadService {\n private _list: SnackbarsThreadComplete[] = [];\n snackbarList = new BehaviorSubject<SnackbarsThreadComplete[]>([]);\n\n constructor(private domSanitizer: DomSanitizer) {}\n\n private _emit() {\n this.snackbarList.next(this._list);\n }\n\n add(elem: SnackbarsThreadBase, timeout: number = 5000): void {\n const notification: SnackbarsThreadComplete = {\n actionName: elem.actionName,\n navigateInternalUrl: elem.navigateInternalUrl,\n id: Math.random().toString(36).substring(7) + Date.now().toString(),\n snackbarType: elem.snackbarType,\n snackbarText: this.domSanitizer.bypassSecurityTrustHtml(elem.snackbarText as string),\n };\n this._list.push(notification);\n this._emit();\n\n if (timeout > 0) {\n setTimeout(() => this.remove(notification.id), timeout);\n }\n }\n\n remove(id: string | undefined): void {\n if (!id) {\n return;\n }\n const index = this._list.findIndex(el => el.id === id);\n index > -1 && this._list.splice(index, 1);\n this._emit();\n }\n}\n","import { AsyncPipe, NgForOf, NgIf } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { animate, style, transition, trigger } from '@angular/animations';\nimport { SnackbarsThreadService } from '../service/snackbars-thread.service';\nimport { snackbarIconsMap, snackbarTypesMap } from '../utils/const/snackbars-thread.const';\nimport {\n SymbolComponent,\n apAlertCircle,\n apCheckCircle,\n apClose,\n apMessagesBubbleDot,\n apRemoveCircle,\n SymbolRegistry,\n apDeleteNoCircle,\n} from '@agorapulse/ui-symbol';\nimport { Router } from '@angular/router';\n@Component({\n selector: 'ap-snackbars-thread',\n templateUrl: './snackbars-thread.component.html',\n styleUrls: ['./snackbars-thread.component.scss'],\n standalone: true,\n imports: [SymbolComponent, NgForOf, AsyncPipe, NgIf],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('fadeAnimation', [\n transition(':enter', [\n style({\n height: 0,\n minHeight: 0,\n opacity: 0,\n transform: 'translateY(25%)',\n padding: 0,\n }),\n // padding and min-height should be the same as in scss file\n animate('300ms ease-in', style({\n height: '*',\n minHeight: '*',\n padding: 'var(--comp-snackbar-padding-vertical) var(--comp-snackbar-padding-horizontal)'\n })),\n animate('200ms ease-in', style({ opacity: 0.5, transform: 'translateY(0%)' })),\n animate('200ms ease-in', style({ opacity: 1 })),\n ]),\n transition(':leave', [\n animate('300ms ease-out', style({ opacity: 0.0, transform: 'translateY(-5%)' })),\n animate('300ms ease-out', style({ height: 0, minHeight: 0, position: 'fixed'})),\n ]),\n ]),\n ],\n})\nexport class SnackbarsThreadComponent {\n SnackbarTypesMap = snackbarTypesMap;\n SnackbarIconsMap = snackbarIconsMap;\n\n constructor(public snackbarsThreadService: SnackbarsThreadService,\n public symbolRegistry: SymbolRegistry,\n private readonly router: Router) {\n this.symbolRegistry.registerSymbols([apClose, apMessagesBubbleDot, apCheckCircle, apAlertCircle, apRemoveCircle, apDeleteNoCircle]);\n }\n\n remove(id: string): void {\n this.snackbarsThreadService.remove(id);\n }\n\n onActionClick(navigateInternalUrl: string, id: string): void {\n this.snackbarsThreadService.remove(id);\n this.router.navigateByUrl(navigateInternalUrl);\n }\n}\n","<div class=\"thread-container\">\n <div\n *ngFor=\"let el of snackbarsThreadService.snackbarList | async\"\n @fadeAnimation\n class=\"item {{ SnackbarTypesMap[el.snackbarType] }}\">\n <div class=\"left\">\n <div class=\"icon {{ SnackbarTypesMap[el.snackbarType] }}\">\n <ap-symbol\n size=\"micro\"\n [attr.aria-label]=\"SnackbarTypesMap[el.snackbarType]\"\n [symbolId]=\"SnackbarIconsMap[el.snackbarType]\" />\n </div>\n <div class=\"text\">\n <div [innerHTML]=\"el.snackbarText\"></div>\n </div>\n </div>\n <div class=\"right\">\n <ng-container *ngIf=\"el.navigateInternalUrl?.length && el.actionName?.length\">\n <a\n class=\"standalone link\"\n role=\"link\"\n tabindex=\"0\"\n (click)=\"onActionClick(el.navigateInternalUrl ?? '', el.id)\"\n (keyup)=\"onActionClick(el.navigateInternalUrl ?? '', el.id)\">\n {{el.actionName}}\n </a>\n </ng-container>\n <div\n class=\"close\"\n tabindex=\"0\"\n (click)=\"remove(el.id)\"\n (keyup)=\"remove(el.id)\">\n <ap-symbol\n aria-label=\"close-snackbar\"\n size=\"20px\"\n symbolId=\"delete-no-circle\" />\n </div>\n </div>\n </div>\n</div>\n","import { SafeHtml } from '@angular/platform-browser';\n\n/**\n * Info - 0\n * Success - 1\n * Warning - 2\n * Error - 3\n */\nexport type externalSnackbarTypeAllowed = 'info' | 'success' | 'warning' | 'error';\ntype internalSnackbarTypeAllowed = 0 | 1 | 2 | 3;\n\n/**\n * We use enum to avoid problem with isolatedModules when export const enum\n * https://ncjamieson.com/dont-export-const-enums/\n */\nexport enum SnackbarTypeValues {\n INFO = 'info',\n SUCCESS = 'success',\n WARNING = 'warning',\n ERROR = 'error',\n}\n\nexport interface SnackbarsThreadBase {\n actionName?: string,\n navigateInternalUrl?: string,\n snackbarType: internalSnackbarTypeAllowed;\n snackbarText: string | SafeHtml;\n}\n\nexport interface SnackbarsThreadComplete extends SnackbarsThreadBase {\n id: string;\n}\n\nexport abstract class CodeStatus {\n protected constructor(public snackbarText: string, public snackbarType: internalSnackbarTypeAllowed) {}\n}\n\nclass CodeStatusSuccess extends CodeStatus {\n constructor(snackbarText: string) {\n super(snackbarText, 1);\n }\n}\n\nclass CodeStatusError extends CodeStatus {\n constructor(snackbarText: string) {\n super(snackbarText, 3);\n }\n}\n\nexport function generateCodeStatus(text: string, type: externalSnackbarTypeAllowed): CodeStatus {\n switch (type) {\n case 'info':\n return new CodeStatusSuccess(text);\n case 'success':\n return new CodeStatusSuccess(text);\n case 'warning':\n return new CodeStatusError(text);\n case 'error':\n return new CodeStatusError(text);\n default:\n return new CodeStatusSuccess(text);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.SnackbarsThreadService"],"mappings":"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"}
|
|
@@ -87,7 +87,6 @@ class AgorapulseUiComponentsModule {
|
|
|
87
87
|
// Directives
|
|
88
88
|
DefaultImageDirective,
|
|
89
89
|
FrozenGifDirective,
|
|
90
|
-
SlideToggleComponent,
|
|
91
90
|
EqualValidatorDirective,
|
|
92
91
|
MultiStyleTextDirective,
|
|
93
92
|
TruncateTooltipDirective,
|
|
@@ -154,7 +153,6 @@ class AgorapulseUiComponentsModule {
|
|
|
154
153
|
PaginatorButtonComponent,
|
|
155
154
|
SlideToggleComponent,
|
|
156
155
|
SnackbarsThreadComponent,
|
|
157
|
-
SlideToggleComponent,
|
|
158
156
|
AddCommentComponent,
|
|
159
157
|
// Modules
|
|
160
158
|
PopmenuModule] });
|
|
@@ -187,7 +185,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImpo
|
|
|
187
185
|
// Directives
|
|
188
186
|
DefaultImageDirective,
|
|
189
187
|
FrozenGifDirective,
|
|
190
|
-
SlideToggleComponent,
|
|
191
188
|
EqualValidatorDirective,
|
|
192
189
|
MultiStyleTextDirective,
|
|
193
190
|
TruncateTooltipDirective,
|