@cleavelandprice/ngx-lib 3.10.0 → 3.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/active-directory/gui/components/user-chooser/user-chooser.component.d.ts +2 -1
- package/active-directory/gui/components/user-form-field/user-form-field.component.d.ts +1 -1
- package/active-directory/gui/model/selectable-group.d.ts +4 -0
- package/active-directory/gui/model/selectable-user.d.ts +1 -4
- package/esm2022/active-directory/active-directory.module.mjs +8 -9
- package/esm2022/active-directory/gui/components/user-chooser/user-chooser.component.mjs +18 -20
- package/esm2022/active-directory/gui/components/user-form-field/user-form-field.component.mjs +16 -18
- package/esm2022/active-directory/gui/gui.module.mjs +8 -9
- package/esm2022/active-directory/gui/model/selectable-group.mjs +2 -0
- package/esm2022/active-directory/gui/model/selectable-user.mjs +1 -1
- package/esm2022/active-directory/services/active-directory.service.mjs +7 -8
- package/esm2022/authentication/authentication.base.module.mjs +6 -7
- package/esm2022/authentication/object/object.module.mjs +8 -9
- package/esm2022/authentication/object/services/authentication.service.mjs +8 -9
- package/esm2022/authentication/token/gui/components/login/login.component.mjs +8 -10
- package/esm2022/authentication/token/gui/components/login-form/login-form.component.mjs +15 -17
- package/esm2022/authentication/token/gui/services/authentication.service.mjs +7 -8
- package/esm2022/authentication/token/gui/token-gui.module.mjs +8 -9
- package/esm2022/authentication/token/services/authentication.service.mjs +7 -8
- package/esm2022/authentication/token/token.module.mjs +8 -9
- package/esm2022/dialog/components/base/base.component.mjs +12 -14
- package/esm2022/dialog/components/choice/choice.component.mjs +7 -8
- package/esm2022/dialog/components/confirmation/confirmation.component.mjs +7 -8
- package/esm2022/dialog/components/input/input.component.mjs +7 -8
- package/esm2022/dialog/components/message/message.component.mjs +7 -8
- package/esm2022/dialog/dialog.module.mjs +6 -7
- package/esm2022/lib/model/service-config.mjs +1 -1
- package/esm2022/lib/ngx-lib.module.mjs +8 -9
- package/esm2022/lib/services/app-path-config.service.mjs +7 -8
- package/esm2022/msgraph/msgraph.module.mjs +8 -9
- package/esm2022/quill/components/editor/editor.component.mjs +9 -10
- package/esm2022/quill/components/raw/raw.component.mjs +7 -8
- package/esm2022/quill/mention/components/editor/editor.component.mjs +9 -10
- package/esm2022/quill/mention/quill-mention.module.mjs +8 -9
- package/esm2022/quill/quill.module.mjs +8 -9
- package/esm2022/sharepoint/components/employee-photo/employee-photo.component.mjs +7 -8
- package/esm2022/sharepoint/pipes/employee-photo-url.pipe.mjs +6 -7
- package/esm2022/sharepoint/services/sharepoint.service.mjs +7 -8
- package/esm2022/sharepoint/sharepoint.module.mjs +8 -9
- package/esm2022/table/components/table/table.component.mjs +5 -6
- package/esm2022/upload/components/upload/upload.component.mjs +6 -7
- package/esm2022/upload/components/upload-dialog/upload-dialog.component.mjs +11 -12
- package/esm2022/upload/services/upload.service.mjs +7 -8
- package/esm2022/upload/upload.module.mjs +8 -9
- package/esm2022/url-utilities/pipes/safe-resource-url.pipe.mjs +6 -7
- package/esm2022/url-utilities/pipes/safe-url.pipe.mjs +6 -7
- package/esm2022/url-utilities/pipes/uri-scheme.pipe.mjs +5 -6
- package/esm2022/url-utilities/url-utilities.module.mjs +6 -7
- package/fesm2022/cleavelandprice-ngx-lib-active-directory-gui.mjs +31 -32
- package/fesm2022/cleavelandprice-ngx-lib-active-directory-gui.mjs.map +1 -1
- package/fesm2022/cleavelandprice-ngx-lib-active-directory.mjs +11 -11
- package/fesm2022/cleavelandprice-ngx-lib-active-directory.mjs.map +1 -1
- package/fesm2022/cleavelandprice-ngx-lib-authentication-object.mjs +12 -12
- package/fesm2022/cleavelandprice-ngx-lib-authentication-object.mjs.map +1 -1
- package/fesm2022/cleavelandprice-ngx-lib-authentication-token-gui.mjs +30 -31
- package/fesm2022/cleavelandprice-ngx-lib-authentication-token-gui.mjs.map +1 -1
- package/fesm2022/cleavelandprice-ngx-lib-authentication-token.mjs +11 -11
- package/fesm2022/cleavelandprice-ngx-lib-authentication-token.mjs.map +1 -1
- package/fesm2022/cleavelandprice-ngx-lib-authentication.mjs +4 -4
- package/fesm2022/cleavelandprice-ngx-lib-authentication.mjs.map +1 -1
- package/fesm2022/cleavelandprice-ngx-lib-dialog.mjs +34 -35
- package/fesm2022/cleavelandprice-ngx-lib-dialog.mjs.map +1 -1
- package/fesm2022/cleavelandprice-ngx-lib-msgraph.mjs +6 -6
- package/fesm2022/cleavelandprice-ngx-lib-msgraph.mjs.map +1 -1
- package/fesm2022/cleavelandprice-ngx-lib-quill-mention.mjs +13 -13
- package/fesm2022/cleavelandprice-ngx-lib-quill-mention.mjs.map +1 -1
- package/fesm2022/cleavelandprice-ngx-lib-quill.mjs +18 -18
- package/fesm2022/cleavelandprice-ngx-lib-quill.mjs.map +1 -1
- package/fesm2022/cleavelandprice-ngx-lib-sharepoint.mjs +20 -20
- package/fesm2022/cleavelandprice-ngx-lib-sharepoint.mjs.map +1 -1
- package/fesm2022/cleavelandprice-ngx-lib-table.mjs +3 -3
- package/fesm2022/cleavelandprice-ngx-lib-table.mjs.map +1 -1
- package/fesm2022/cleavelandprice-ngx-lib-upload.mjs +25 -25
- package/fesm2022/cleavelandprice-ngx-lib-upload.mjs.map +1 -1
- package/fesm2022/cleavelandprice-ngx-lib-url-utilities.mjs +15 -15
- package/fesm2022/cleavelandprice-ngx-lib-url-utilities.mjs.map +1 -1
- package/fesm2022/cleavelandprice-ngx-lib.mjs +11 -11
- package/fesm2022/cleavelandprice-ngx-lib.mjs.map +1 -1
- package/package.json +3 -3
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Pipe } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
-
class UriSchemePipe {
|
|
3
|
+
export class UriSchemePipe {
|
|
4
4
|
// https://docs.microsoft.com/en-us/office/client-developer/office-uri-schemes
|
|
5
5
|
transform(value, ignoreLocalStorage = false) {
|
|
6
6
|
if (!localStorage.getItem('useUriScheme') && !ignoreLocalStorage) {
|
|
@@ -92,15 +92,14 @@ class UriSchemePipe {
|
|
|
92
92
|
return `of${openMode}`; // default: open file as view/edit
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
96
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
95
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: UriSchemePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
96
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: UriSchemePipe, name: "uriScheme", pure: false }); }
|
|
97
97
|
}
|
|
98
|
-
|
|
99
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: UriSchemePipe, decorators: [{
|
|
98
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: UriSchemePipe, decorators: [{
|
|
100
99
|
type: Pipe,
|
|
101
100
|
args: [{
|
|
102
101
|
name: 'uriScheme',
|
|
103
102
|
pure: false
|
|
104
103
|
}]
|
|
105
104
|
}] });
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJpLXNjaGVtZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xlYXZlbGFuZHByaWNlL25neC1saWIvdXJsLXV0aWxpdGllcy9zcmMvcGlwZXMvdXJpLXNjaGVtZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQU1wRCxNQUFNLE9BQU8sYUFBYTtJQUN4Qiw4RUFBOEU7SUFFOUUsU0FBUyxDQUFDLEtBQWEsRUFBRSxrQkFBa0IsR0FBRyxLQUFLO1FBQ2pELElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUFDLE9BQU8sS0FBSyxDQUFDO1FBQUMsQ0FBQztRQUVuRixNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRWhELElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUFDLE9BQU8sS0FBSyxDQUFDO1FBQUMsQ0FBQztRQUVqQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3hDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFaEMsT0FBTyxNQUFNLEdBQUcsSUFBSSxPQUFPLE1BQU0sS0FBSyxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVPLEdBQUcsQ0FBQyxTQUFpQjtRQUMzQixRQUFRLFNBQVMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO1lBQ2hDLFlBQVk7WUFDWixLQUFLLEtBQUssQ0FBQztZQUFDLEtBQUssTUFBTSxDQUFDO1lBQ3hCLEtBQUssTUFBTSxDQUFDO1lBQUMsS0FBSyxNQUFNLENBQUM7WUFDekIsS0FBSyxLQUFLLENBQUM7WUFBQyxLQUFLLE1BQU0sQ0FBQztZQUFDLEtBQUssTUFBTSxFQUFFLFlBQVk7Z0JBQ2hELE9BQU8sTUFBTSxDQUFDO1lBQ2hCLEtBQUssS0FBSyxDQUFDO1lBQUMsS0FBSyxNQUFNLENBQUM7WUFDeEIsS0FBSyxLQUFLLENBQUM7WUFBQyxLQUFLLE1BQU0sQ0FBQztZQUFDLEtBQUssTUFBTSxDQUFDO1lBQUMsS0FBSyxLQUFLLENBQUM7WUFDakQsS0FBSyxLQUFLLENBQUM7WUFBQyxLQUFLLE1BQU0sQ0FBQztZQUFDLEtBQUssTUFBTSxFQUFFLFlBQVk7Z0JBQ2hELE9BQU8sT0FBTyxDQUFDO1lBQ2pCLEtBQUssS0FBSyxDQUFDO1lBQUMsS0FBSyxNQUFNLENBQUM7WUFDeEIsS0FBSyxLQUFLLENBQUM7WUFBQyxLQUFLLE1BQU0sQ0FBQztZQUFDLEtBQUssTUFBTSxDQUFDO1lBQUMsS0FBSyxNQUFNLENBQUM7WUFDbEQsS0FBSyxNQUFNLENBQUM7WUFBQyxLQUFLLE1BQU0sQ0FBQztZQUN6QixLQUFLLEtBQUssQ0FBQztZQUFDLEtBQUssTUFBTSxDQUFDO1lBQUMsS0FBSyxNQUFNLEVBQUUsWUFBWTtnQkFDaEQsT0FBTyxZQUFZLENBQUM7WUFDdEIsS0FBSyxLQUFLLENBQUM7WUFBQyxLQUFLLE1BQU0sQ0FBQztZQUN4QixLQUFLLEtBQUssQ0FBQztZQUFDLEtBQUssTUFBTSxFQUFFLFlBQVk7Z0JBQ25DLE9BQU8sT0FBTyxDQUFDO1lBQ2pCLEtBQUssS0FBSyxDQUFDO1lBQUMsS0FBSyxPQUFPLENBQUM7WUFBQyxLQUFLLE9BQU8sQ0FBQztZQUFDLEtBQUssT0FBTyxDQUFDO1lBQ3JELEtBQUssT0FBTyxFQUFFLFlBQVk7Z0JBQ3hCLE9BQU8sUUFBUSxDQUFDO1lBQ2xCLEtBQUssS0FBSyxDQUFDO1lBQUMsS0FBSyxNQUFNLENBQUM7WUFDeEIsS0FBSyxLQUFLLEVBQUUsWUFBWTtnQkFDdEIsT0FBTyxTQUFTLENBQUM7WUFDbkIsS0FBSyxLQUFLO2dCQUNSLE9BQU8sV0FBVyxDQUFDO1lBQ3JCLEtBQUssS0FBSztnQkFDUixPQUFPLFVBQVUsQ0FBQztZQUNwQjtnQkFDRSxPQUFPLEVBQUUsQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDO0lBRU8sT0FBTyxDQUFDLFNBQWlCO1FBQy9CLFFBQVEsU0FBUyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7WUFDaEMsS0FBSyxLQUFLLENBQUM7WUFBQyxLQUFLLE1BQU0sQ0FBQztZQUFDLEtBQUssTUFBTSxDQUFDO1lBQ3JDLEtBQUssS0FBSyxDQUFDO1lBQUMsS0FBSyxNQUFNLENBQUM7WUFBQyxLQUFLLE1BQU0sQ0FBQztZQUNyQyxLQUFLLEtBQUssQ0FBQztZQUFDLEtBQUssTUFBTSxDQUFDO1lBQUMsS0FBSyxNQUFNLENBQUM7WUFDckMsS0FBSyxLQUFLLENBQUM7WUFBQyxLQUFLLE1BQU0sQ0FBQztZQUN4QixLQUFLLE9BQU8sQ0FBQztZQUNiLEtBQUssS0FBSztnQkFDUixPQUFPLEtBQUssQ0FBQyxDQUFDLG9CQUFvQjtZQUNwQztnQkFDRSxNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsQ0FBQywyQkFBMkI7Z0JBQ2pELE9BQU8sS0FBSyxRQUFRLEVBQUUsQ0FBQyxDQUFDLGtDQUFrQztRQUM5RCxDQUFDO0lBQ0gsQ0FBQzs4R0FoRVUsYUFBYTs0R0FBYixhQUFhOzsyRkFBYixhQUFhO2tCQUp6QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxXQUFXO29CQUNqQixJQUFJLEVBQUUsS0FBSztpQkFDWiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoe1xuICBuYW1lOiAndXJpU2NoZW1lJyxcbiAgcHVyZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVXJpU2NoZW1lUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAvLyBodHRwczovL2RvY3MubWljcm9zb2Z0LmNvbS9lbi11cy9vZmZpY2UvY2xpZW50LWRldmVsb3Blci9vZmZpY2UtdXJpLXNjaGVtZXNcblxuICB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZywgaWdub3JlTG9jYWxTdG9yYWdlID0gZmFsc2UpOiBzdHJpbmcge1xuICAgIGlmICghbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZVVyaVNjaGVtZScpICYmICFpZ25vcmVMb2NhbFN0b3JhZ2UpIHsgcmV0dXJuIHZhbHVlOyB9XG5cbiAgICBjb25zdCB1cmxTcGxpdCA9IHZhbHVlLnNwbGl0KCcuJyk7XG4gICAgY29uc3QgZXh0ZW5zaW9uID0gdXJsU3BsaXRbdXJsU3BsaXQubGVuZ3RoIC0gMV07XG5cbiAgICBpZiAoIWV4dGVuc2lvbikgeyByZXR1cm4gdmFsdWU7IH1cblxuICAgIGNvbnN0IGNvbW1hbmQgPSB0aGlzLmNvbW1hbmQoZXh0ZW5zaW9uKTtcbiAgICBjb25zdCBhcHAgPSB0aGlzLmFwcChleHRlbnNpb24pO1xuXG4gICAgcmV0dXJuIGBtcy0ke2FwcH06JHtjb21tYW5kfXx1fCR7dmFsdWV9YDtcbiAgfVxuXG4gIHByaXZhdGUgYXBwKGV4dGVuc2lvbjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKGV4dGVuc2lvbi50b0xvd2VyQ2FzZSgpKSB7XG4gICAgICAvLyBkb2N1bWVudHNcbiAgICAgIGNhc2UgJ2RvYyc6IGNhc2UgJ2RvY3gnOlxuICAgICAgY2FzZSAnZG9jbSc6IGNhc2UgJ2RvY2InOlxuICAgICAgY2FzZSAnZG90JzogY2FzZSAnZG90eCc6IGNhc2UgJ2RvdG0nOiAvLyB0ZW1wbGF0ZXNcbiAgICAgICAgcmV0dXJuICd3b3JkJztcbiAgICAgIGNhc2UgJ3hscyc6IGNhc2UgJ3hsc3gnOlxuICAgICAgY2FzZSAneGxtJzogY2FzZSAneGxzbSc6IGNhc2UgJ3hsc2InOiBjYXNlICd4bHcnOlxuICAgICAgY2FzZSAneGx0JzogY2FzZSAneGx0eCc6IGNhc2UgJ3hsdG0nOiAvLyB0ZW1wbGF0ZXNcbiAgICAgICAgcmV0dXJuICdleGNlbCc7XG4gICAgICBjYXNlICdwcHQnOiBjYXNlICdwcHR4JzpcbiAgICAgIGNhc2UgJ3Bwcyc6IGNhc2UgJ3Bwc3gnOiBjYXNlICdwcHRtJzogY2FzZSAncHBzbSc6XG4gICAgICBjYXNlICdzbGR4JzogY2FzZSAnc2xkbSc6XG4gICAgICBjYXNlICdwb3QnOiBjYXNlICdwb3R4JzogY2FzZSAncG90bSc6IC8vIHRlbXBsYXRlc1xuICAgICAgICByZXR1cm4gJ3Bvd2VycG9pbnQnO1xuICAgICAgY2FzZSAndnNkJzogY2FzZSAndnNkeCc6XG4gICAgICBjYXNlICd2c3QnOiBjYXNlICd2c3R4JzogLy8gdGVtcGxhdGVzXG4gICAgICAgIHJldHVybiAndmlzaW8nO1xuICAgICAgY2FzZSAnbWRiJzogY2FzZSAnYWNjZGInOiBjYXNlICdhY2NkZSc6IGNhc2UgJ2FjY2RyJzpcbiAgICAgIGNhc2UgJ2FjY2R0JzogLy8gdGVtcGxhdGVzXG4gICAgICAgIHJldHVybiAnYWNjZXNzJztcbiAgICAgIGNhc2UgJ21wcCc6IGNhc2UgJ21wcHgnOlxuICAgICAgY2FzZSAnbXB0JzogLy8gdGVtcGxhdGVzXG4gICAgICAgIHJldHVybiAncHJvamVjdCc7XG4gICAgICBjYXNlICdwdWInOlxuICAgICAgICByZXR1cm4gJ3B1Ymxpc2hlcic7XG4gICAgICBjYXNlICd4c24nOlxuICAgICAgICByZXR1cm4gJ2luZm9wYXRoJztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNvbW1hbmQoZXh0ZW5zaW9uOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAoZXh0ZW5zaW9uLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgIGNhc2UgJ2RvdCc6IGNhc2UgJ2RvdHgnOiBjYXNlICdkb3RtJzpcbiAgICAgIGNhc2UgJ3hsdCc6IGNhc2UgJ3hsdHgnOiBjYXNlICd4bHRtJzpcbiAgICAgIGNhc2UgJ3BvdCc6IGNhc2UgJ3BvdHgnOiBjYXNlICdwb3RtJzpcbiAgICAgIGNhc2UgJ3ZzdCc6IGNhc2UgJ3ZzdHgnOlxuICAgICAgY2FzZSAnYWNjZHQnOlxuICAgICAgY2FzZSAnbXB0JzpcbiAgICAgICAgcmV0dXJuICduZnQnOyAvLyBuZXcgZnJvbSB0ZW1wbGF0ZVxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgY29uc3Qgb3Blbk1vZGUgPSAndic7IC8vIGZvciB2aWV3LCBvciAnZScgb3IgZWRpdFxuICAgICAgICByZXR1cm4gYG9mJHtvcGVuTW9kZX1gOyAvLyBkZWZhdWx0OiBvcGVuIGZpbGUgYXMgdmlldy9lZGl0XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -4,17 +4,16 @@ import { SafeResourceUrlPipe } from './pipes/safe-resource-url.pipe';
|
|
|
4
4
|
import { SafeUrlPipe } from './pipes/safe-url.pipe';
|
|
5
5
|
import { UriSchemePipe } from './pipes/uri-scheme.pipe';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
|
-
class UrlUtilitiesModule {
|
|
8
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
9
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
7
|
+
export class UrlUtilitiesModule {
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: UrlUtilitiesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
9
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: UrlUtilitiesModule, declarations: [SafeResourceUrlPipe,
|
|
10
10
|
SafeUrlPipe,
|
|
11
11
|
UriSchemePipe], imports: [CommonModule], exports: [SafeResourceUrlPipe,
|
|
12
12
|
SafeUrlPipe,
|
|
13
13
|
UriSchemePipe] }); }
|
|
14
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
14
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: UrlUtilitiesModule, imports: [CommonModule] }); }
|
|
15
15
|
}
|
|
16
|
-
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.4", ngImport: i0, type: UrlUtilitiesModule, decorators: [{
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: UrlUtilitiesModule, decorators: [{
|
|
18
17
|
type: NgModule,
|
|
19
18
|
args: [{
|
|
20
19
|
declarations: [
|
|
@@ -32,4 +31,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.4", ngImpor
|
|
|
32
31
|
]
|
|
33
32
|
}]
|
|
34
33
|
}] });
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJsLXV0aWxpdGllcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGVhdmVsYW5kcHJpY2Uvbmd4LWxpYi91cmwtdXRpbGl0aWVzL3NyYy91cmwtdXRpbGl0aWVzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQWlCeEQsTUFBTSxPQUFPLGtCQUFrQjs4R0FBbEIsa0JBQWtCOytHQUFsQixrQkFBa0IsaUJBYjNCLG1CQUFtQjtZQUNuQixXQUFXO1lBQ1gsYUFBYSxhQUdiLFlBQVksYUFHWixtQkFBbUI7WUFDbkIsV0FBVztZQUNYLGFBQWE7K0dBR0osa0JBQWtCLFlBUjNCLFlBQVk7OzJGQVFILGtCQUFrQjtrQkFmOUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osbUJBQW1CO3dCQUNuQixXQUFXO3dCQUNYLGFBQWE7cUJBQ2Q7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7cUJBQ2I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLG1CQUFtQjt3QkFDbkIsV0FBVzt3QkFDWCxhQUFhO3FCQUNkO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IFNhZmVSZXNvdXJjZVVybFBpcGUgfSBmcm9tICcuL3BpcGVzL3NhZmUtcmVzb3VyY2UtdXJsLnBpcGUnO1xuaW1wb3J0IHsgU2FmZVVybFBpcGUgfSBmcm9tICcuL3BpcGVzL3NhZmUtdXJsLnBpcGUnO1xuaW1wb3J0IHsgVXJpU2NoZW1lUGlwZSB9IGZyb20gJy4vcGlwZXMvdXJpLXNjaGVtZS5waXBlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgU2FmZVJlc291cmNlVXJsUGlwZSxcbiAgICBTYWZlVXJsUGlwZSxcbiAgICBVcmlTY2hlbWVQaXBlXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFNhZmVSZXNvdXJjZVVybFBpcGUsXG4gICAgU2FmZVVybFBpcGUsXG4gICAgVXJpU2NoZW1lUGlwZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFVybFV0aWxpdGllc01vZHVsZSB7IH1cbiJdfQ==
|
|
@@ -3,33 +3,32 @@ import { ActiveDirectoryService, ServiceConfig } from '@cleavelandprice/ngx-lib/
|
|
|
3
3
|
export * from '@cleavelandprice/ngx-lib/active-directory';
|
|
4
4
|
import * as i0 from '@angular/core';
|
|
5
5
|
import { Component, Inject, ViewChild, EventEmitter, Output, Input, NgModule, Optional, SkipSelf } from '@angular/core';
|
|
6
|
-
import * as
|
|
6
|
+
import * as i4 from '@angular/forms';
|
|
7
7
|
import { FormGroup, FormControl, ReactiveFormsModule } from '@angular/forms';
|
|
8
8
|
import * as i1 from '@angular/material/dialog';
|
|
9
9
|
import { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
|
|
10
|
-
import * as
|
|
10
|
+
import * as i9 from '@angular/material/list';
|
|
11
11
|
import { MatSelectionList, MatListModule } from '@angular/material/list';
|
|
12
12
|
import { MatTableDataSource, MatTableModule } from '@angular/material/table';
|
|
13
13
|
import { of, forkJoin, debounceTime } from 'rxjs';
|
|
14
14
|
import * as i3 from '@cleavelandprice/ngx-lib/sharepoint';
|
|
15
|
-
import * as
|
|
16
|
-
import { CommonModule } from '@angular/common';
|
|
17
|
-
import * as i6 from '@angular/material/button';
|
|
15
|
+
import * as i5 from '@angular/material/button';
|
|
18
16
|
import { MatButtonModule } from '@angular/material/button';
|
|
19
|
-
import * as
|
|
17
|
+
import * as i6 from '@angular/material/form-field';
|
|
20
18
|
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
21
|
-
import * as
|
|
19
|
+
import * as i7 from '@angular/material/icon';
|
|
22
20
|
import { MatIconModule } from '@angular/material/icon';
|
|
23
|
-
import * as
|
|
21
|
+
import * as i8 from '@angular/material/input';
|
|
24
22
|
import { MatInputModule } from '@angular/material/input';
|
|
25
|
-
import * as
|
|
23
|
+
import * as i10 from '@angular/material/progress-spinner';
|
|
26
24
|
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
27
|
-
import * as
|
|
25
|
+
import * as i11 from '@angular/material/slide-toggle';
|
|
28
26
|
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
|
|
29
|
-
import * as
|
|
27
|
+
import * as i12 from '@angular/material/tooltip';
|
|
30
28
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
31
|
-
import * as
|
|
29
|
+
import * as i9$1 from '@angular/material/progress-bar';
|
|
32
30
|
import { MatProgressBarModule } from '@angular/material/progress-bar';
|
|
31
|
+
import { CommonModule } from '@angular/common';
|
|
33
32
|
|
|
34
33
|
class UserChooserFilterOptions {
|
|
35
34
|
constructor() {
|
|
@@ -446,16 +445,16 @@ class UserChooserComponent {
|
|
|
446
445
|
.join('\n') :
|
|
447
446
|
'';
|
|
448
447
|
}
|
|
449
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
450
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
448
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: UserChooserComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.MatDialogRef }, { token: i2.ActiveDirectoryService }, { token: i3.SharePointService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
449
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: UserChooserComponent, selector: "ng-component", viewQueries: [{ propertyName: "selectionList", first: true, predicate: MatSelectionList, descendants: true }, { propertyName: "filterInput", first: true, predicate: ["filterInput"], descendants: true }], ngImport: i0, template: "<div id=\"dialog-title\">\n <h2 mat-dialog-title>{{ data.title }}</h2>\n\n <div id=\"num-selected\">\n {{ selectedOptions.length }} selected\n </div>\n</div>\n\n<mat-dialog-content>\n @if (!(dataSource && photos)) {\n <div>\n <mat-spinner [diameter]=\"50\"></mat-spinner>\n <h2 id=\"spinner-message\">Getting users and photos...</h2>\n </div>\n }\n\n @if (dataSource && photos) {\n <form [formGroup]=\"filterForm\">\n @if (dataSource) {\n <mat-form-field>\n <input matInput placeholder=\"Search\" formControlName=\"filter\" #filterInput>\n @if (filterForm.value.filter) {\n <button matSuffix mat-icon-button aria-label=\"Clear\" (click)=\"filterForm.get('filter')?.setValue('')\">\n <mat-icon fontIcon=\"close\"></mat-icon>\n </button>\n }\n </mat-form-field>\n }\n </form>\n <mat-selection-list [multiple]=\"isMultiMode\"\n (selectionChange)=\"listSelectionChanged($event.options)\">\n @for (user of dataSource?.filteredData; track user) {\n <mat-list-option [value]=\"user\" [selected]=\"user.selected\"\n (selectedChange)=\"optionSelectionChanged(option)\" #option>\n @if (getPhoto(user)) {\n <img matListItemAvatar alt=\"\" [src]=\"getPhoto(user)\">\n }\n @if (!getPhoto(user)) {\n <mat-icon matListItemAvatar class=\"no-photo\"\n [fontIcon]=\"isUser(user) ? 'account_circle' : 'group'\">\n </mat-icon>\n }\n <div class=\"user\">\n <div [matTooltip]=\"tooltip(user)\" class=\"user-name\">\n {{ user.displayName }}\n @if (isUser(user) && data.showPhone && castUser(user).telephoneNumber) {\n <div>{{ castUser(user).telephoneNumber }}</div>\n }\n </div>\n @if (isUser(user)) {\n <div>{{ castUser(user).department }}</div>\n <div class=\"title\">{{ castUser(user).title }}</div>\n }\n </div>\n </mat-list-option>\n }\n </mat-selection-list>\n }\n</mat-dialog-content>\n\n<mat-dialog-actions>\n @if (dataSource && photos) {\n @if (selectedOptions.length) {\n <mat-slide-toggle (change)=\"hideUnselectedChanged($event.checked)\">\n Hide Unselected\n </mat-slide-toggle>\n }\n @if (isMultiMode) {\n <button mat-raised-button color=\"primary\" (click)=\"selectAll()\"\n >\n <mat-icon fontIcon=\"select_all\"></mat-icon>\n <span class=\"hide-mobile\">Select All</span>\n </button>\n }\n @if (isMultiMode && selectedOptions.length) {\n <button mat-raised-button color=\"primary\" (click)=\"deselectAll()\"\n >\n <mat-icon fontIcon=\"clear_all\"></mat-icon>\n <span class=\"hide-mobile\">Clear All</span>\n </button>\n }\n @if (isMultiMode || !data.closeWhenSelectionMade) {\n <button mat-raised-button color=\"primary\" (click)=\"close()\" matTooltip=\"Accept your selection\"\n [disabled]=\"!selectedOptions.length\">\n <mat-icon fontIcon=\"check\"></mat-icon>\n <span class=\"hide-mobile\">Ok</span>\n </button>\n }\n }\n\n <button mat-raised-button color=\"warn\" mat-dialog-close matTooltip=\"Close this window\">\n <mat-icon fontIcon=\"close\"></mat-icon>\n <span class=\"hide-mobile\">Cancel</span>\n </button>\n</mat-dialog-actions>", styles: ["::ng-deep .mat-tooltip{font-size:1em!important;white-space:pre-line}mat-dialog-content{min-width:50vw}#dialog-title{display:flex;justify-content:space-between}#num-selected{margin:1em 1em 0 0}mat-spinner{margin:0 auto}#spinner-message{text-align:center;padding:.5em}mat-form-field{width:100%}.title{font-style:italic;color:#757575}img,.no-photo{width:2rem;height:2rem;font-size:2.3rem!important;border-radius:100%}.hide-mobile{display:none}mat-dialog-actions{display:grid;grid-auto-flow:column;grid-gap:1em;justify-content:center}.user-name{display:flex;justify-content:space-between}.user-name>div:last-child{margin-right:10rem;font-weight:400;font-style:italic;color:#757575}@media (min-width:801px){.user{display:grid;grid-template-columns:1fr 1fr 1fr}.user>div:first-child{font-weight:700}.hide-mobile{display:initial}}\n", ".material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:\"liga\"}\n"], dependencies: [{ kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i8.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i9.MatSelectionList, selector: "mat-selection-list", inputs: ["color", "compareWith", "multiple", "hideSingleSelectionIndicator", "disabled"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }, { kind: "component", type: i9.MatListOption, selector: "mat-list-option", inputs: ["togglePosition", "checkboxPosition", "color", "value", "selected"], outputs: ["selectedChange"], exportAs: ["matListOption"] }, { kind: "directive", type: i9.MatListItemAvatar, selector: "[matListItemAvatar]" }, { kind: "component", type: i10.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i11.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "directive", type: i12.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] }); }
|
|
451
450
|
}
|
|
452
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
451
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: UserChooserComponent, decorators: [{
|
|
453
452
|
type: Component,
|
|
454
|
-
args: [{ template: "<div id=\"dialog-title\">\n
|
|
455
|
-
}], ctorParameters:
|
|
453
|
+
args: [{ template: "<div id=\"dialog-title\">\n <h2 mat-dialog-title>{{ data.title }}</h2>\n\n <div id=\"num-selected\">\n {{ selectedOptions.length }} selected\n </div>\n</div>\n\n<mat-dialog-content>\n @if (!(dataSource && photos)) {\n <div>\n <mat-spinner [diameter]=\"50\"></mat-spinner>\n <h2 id=\"spinner-message\">Getting users and photos...</h2>\n </div>\n }\n\n @if (dataSource && photos) {\n <form [formGroup]=\"filterForm\">\n @if (dataSource) {\n <mat-form-field>\n <input matInput placeholder=\"Search\" formControlName=\"filter\" #filterInput>\n @if (filterForm.value.filter) {\n <button matSuffix mat-icon-button aria-label=\"Clear\" (click)=\"filterForm.get('filter')?.setValue('')\">\n <mat-icon fontIcon=\"close\"></mat-icon>\n </button>\n }\n </mat-form-field>\n }\n </form>\n <mat-selection-list [multiple]=\"isMultiMode\"\n (selectionChange)=\"listSelectionChanged($event.options)\">\n @for (user of dataSource?.filteredData; track user) {\n <mat-list-option [value]=\"user\" [selected]=\"user.selected\"\n (selectedChange)=\"optionSelectionChanged(option)\" #option>\n @if (getPhoto(user)) {\n <img matListItemAvatar alt=\"\" [src]=\"getPhoto(user)\">\n }\n @if (!getPhoto(user)) {\n <mat-icon matListItemAvatar class=\"no-photo\"\n [fontIcon]=\"isUser(user) ? 'account_circle' : 'group'\">\n </mat-icon>\n }\n <div class=\"user\">\n <div [matTooltip]=\"tooltip(user)\" class=\"user-name\">\n {{ user.displayName }}\n @if (isUser(user) && data.showPhone && castUser(user).telephoneNumber) {\n <div>{{ castUser(user).telephoneNumber }}</div>\n }\n </div>\n @if (isUser(user)) {\n <div>{{ castUser(user).department }}</div>\n <div class=\"title\">{{ castUser(user).title }}</div>\n }\n </div>\n </mat-list-option>\n }\n </mat-selection-list>\n }\n</mat-dialog-content>\n\n<mat-dialog-actions>\n @if (dataSource && photos) {\n @if (selectedOptions.length) {\n <mat-slide-toggle (change)=\"hideUnselectedChanged($event.checked)\">\n Hide Unselected\n </mat-slide-toggle>\n }\n @if (isMultiMode) {\n <button mat-raised-button color=\"primary\" (click)=\"selectAll()\"\n >\n <mat-icon fontIcon=\"select_all\"></mat-icon>\n <span class=\"hide-mobile\">Select All</span>\n </button>\n }\n @if (isMultiMode && selectedOptions.length) {\n <button mat-raised-button color=\"primary\" (click)=\"deselectAll()\"\n >\n <mat-icon fontIcon=\"clear_all\"></mat-icon>\n <span class=\"hide-mobile\">Clear All</span>\n </button>\n }\n @if (isMultiMode || !data.closeWhenSelectionMade) {\n <button mat-raised-button color=\"primary\" (click)=\"close()\" matTooltip=\"Accept your selection\"\n [disabled]=\"!selectedOptions.length\">\n <mat-icon fontIcon=\"check\"></mat-icon>\n <span class=\"hide-mobile\">Ok</span>\n </button>\n }\n }\n\n <button mat-raised-button color=\"warn\" mat-dialog-close matTooltip=\"Close this window\">\n <mat-icon fontIcon=\"close\"></mat-icon>\n <span class=\"hide-mobile\">Cancel</span>\n </button>\n</mat-dialog-actions>", styles: ["::ng-deep .mat-tooltip{font-size:1em!important;white-space:pre-line}mat-dialog-content{min-width:50vw}#dialog-title{display:flex;justify-content:space-between}#num-selected{margin:1em 1em 0 0}mat-spinner{margin:0 auto}#spinner-message{text-align:center;padding:.5em}mat-form-field{width:100%}.title{font-style:italic;color:#757575}img,.no-photo{width:2rem;height:2rem;font-size:2.3rem!important;border-radius:100%}.hide-mobile{display:none}mat-dialog-actions{display:grid;grid-auto-flow:column;grid-gap:1em;justify-content:center}.user-name{display:flex;justify-content:space-between}.user-name>div:last-child{margin-right:10rem;font-weight:400;font-style:italic;color:#757575}@media (min-width:801px){.user{display:grid;grid-template-columns:1fr 1fr 1fr}.user>div:first-child{font-weight:700}.hide-mobile{display:initial}}\n", ".material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:\"liga\"}\n"] }]
|
|
454
|
+
}], ctorParameters: () => [{ type: UserChooserData, decorators: [{
|
|
456
455
|
type: Inject,
|
|
457
456
|
args: [MAT_DIALOG_DATA]
|
|
458
|
-
}] }, { type: i1.MatDialogRef }, { type: i2.ActiveDirectoryService }, { type: i3.SharePointService }]
|
|
457
|
+
}] }, { type: i1.MatDialogRef }, { type: i2.ActiveDirectoryService }, { type: i3.SharePointService }], propDecorators: { selectionList: [{
|
|
459
458
|
type: ViewChild,
|
|
460
459
|
args: [MatSelectionList]
|
|
461
460
|
}], filterInput: [{
|
|
@@ -553,12 +552,12 @@ class UserFormFieldComponent {
|
|
|
553
552
|
this.photos = photos;
|
|
554
553
|
});
|
|
555
554
|
}
|
|
556
|
-
isGroupAccount(accountName) {
|
|
557
|
-
return !!this.groups?.find(g => g.sAMAccountName.toLowerCase() === accountName.toLowerCase());
|
|
558
|
-
}
|
|
559
555
|
getUser(accountName) {
|
|
560
556
|
return this.users?.find(u => u.sAMAccountName.toLowerCase() === accountName.toLowerCase());
|
|
561
557
|
}
|
|
558
|
+
getGroup(accountName) {
|
|
559
|
+
return this.groups?.find(g => g.sAMAccountName.toLowerCase() === accountName.toLowerCase());
|
|
560
|
+
}
|
|
562
561
|
getPhoto(accountName) {
|
|
563
562
|
const user = this.getUser(accountName);
|
|
564
563
|
if (!user) {
|
|
@@ -569,13 +568,13 @@ class UserFormFieldComponent {
|
|
|
569
568
|
p.displayName?.toLowerCase() === user.displayName.toLowerCase() ||
|
|
570
569
|
p.title?.toLowerCase() === user.displayName.toLowerCase())?.encodedAbsUrl;
|
|
571
570
|
}
|
|
572
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
573
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
571
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: UserFormFieldComponent, deps: [{ token: i1.MatDialog }, { token: i2.ActiveDirectoryService }, { token: i3.SharePointService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
572
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: UserFormFieldComponent, selector: "cp-user-field", inputs: { placeholder: "placeholder", clickable: "clickable", userChooserData: "userChooserData" }, outputs: { usersSelected: "usersSelected", userUnSelected: "userUnSelected" }, ngImport: i0, template: "\n<!-- In Microsoft Edge, selectUser() never gets called if the input fields are disabled\nSo... I'm dynamically setting the disabled property based on whether or not the browser is Edge.\nIt's definitely a better experience if the field IS disabled.\nOtherwise, it's confusing - especially because Edge is SO SLOW to display the resulting dialog window.\n-->\n<!-- Update 8/24/2023:\nThe above problem also exists in Chrome now.\nSo instead of dynamically setting [disabled] based on browser type,\nI'm applying CSS to suppress mouse events on the input - thus making it bubble up to the parent control, which responds the way we want/\n-->\n\n@if (!(users && photos)) {\n <mat-progress-bar mode=\"indeterminate\"></mat-progress-bar>\n}\n\n@if (users && photos) {\n <div (click)=\"selectUser()\" [class.clickable]=\"clickable\">\n @if (!accountNames?.length) {\n <mat-form-field>\n <input matInput disabled [placeholder]=\"placeholder\"> <!-- [disabled]=\"!isEdge\" -->\n </mat-form-field>\n }\n @if (accountNames?.length) {\n <div\n [class.grid]=\"accountNames.length > 1\"\n [class.three]=\"accountNames.length > 2\"\n [class.four]=\"accountNames.length > 3\"\n [class.five]=\"accountNames.length > 4\">\n @for (accountName of accountNames; track accountName; let i = $index) {\n <div class=\"user\">\n <!--<img *ngIf=\"accountName && empUtils.getEmployee(accountName)\" alt=\"\" [src]=\"empUtils.getEmployee(accountName) | employeePhotoUrl:cacheService.photos\">-->\n @if (getPhoto(accountName)) {\n <img matListItemAvatar alt=\"\" [src]=\"getPhoto(accountName)\">\n }\n @if (getGroup(accountName)) {\n <mat-icon>group</mat-icon>\n }\n <mat-form-field>\n <!-- [disabled]=\"!isEdge\" -->\n <input matInput disabled [placeholder]=\"i === 0 ? placeholder : ''\"\n [value]=\"getUser(accountName) ? getUser(accountName)?.displayName : getGroup(accountName) ? getGroup(accountName)?.displayName : accountName\">\n <button matSuffix mat-icon-button aria-label=\"Clear\" (click)=\"$event.stopPropagation(); unSelectUser(accountName)\">\n <mat-icon fontIcon=\"close\"></mat-icon>\n </button>\n </mat-form-field>\n </div>\n }\n </div>\n }\n </div>\n}", styles: [".user{display:grid;grid-template-columns:auto 1fr;grid-gap:.5em;align-items:center}.clickable,.clickable input{cursor:pointer!important}img{width:2em;height:2em;border-radius:100%}@media (min-width:801px){.grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:1em}.three{grid-template-columns:repeat(3,1fr)}.four{grid-template-columns:repeat(4,1fr)}.five{grid-template-columns:repeat(5,1fr)}::ng-deep .grid mat-form-field{width:15vw}}input[disabled]{pointer-events:none}\n"], dependencies: [{ kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i8.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i9.MatListItemAvatar, selector: "[matListItemAvatar]" }, { kind: "component", type: i9$1.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }] }); }
|
|
574
573
|
}
|
|
575
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
574
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: UserFormFieldComponent, decorators: [{
|
|
576
575
|
type: Component,
|
|
577
|
-
args: [{ selector: 'cp-user-field', template: "\n<!-- In Microsoft Edge, selectUser() never gets called if the input fields are disabled\
|
|
578
|
-
}], ctorParameters:
|
|
576
|
+
args: [{ selector: 'cp-user-field', template: "\n<!-- In Microsoft Edge, selectUser() never gets called if the input fields are disabled\nSo... I'm dynamically setting the disabled property based on whether or not the browser is Edge.\nIt's definitely a better experience if the field IS disabled.\nOtherwise, it's confusing - especially because Edge is SO SLOW to display the resulting dialog window.\n-->\n<!-- Update 8/24/2023:\nThe above problem also exists in Chrome now.\nSo instead of dynamically setting [disabled] based on browser type,\nI'm applying CSS to suppress mouse events on the input - thus making it bubble up to the parent control, which responds the way we want/\n-->\n\n@if (!(users && photos)) {\n <mat-progress-bar mode=\"indeterminate\"></mat-progress-bar>\n}\n\n@if (users && photos) {\n <div (click)=\"selectUser()\" [class.clickable]=\"clickable\">\n @if (!accountNames?.length) {\n <mat-form-field>\n <input matInput disabled [placeholder]=\"placeholder\"> <!-- [disabled]=\"!isEdge\" -->\n </mat-form-field>\n }\n @if (accountNames?.length) {\n <div\n [class.grid]=\"accountNames.length > 1\"\n [class.three]=\"accountNames.length > 2\"\n [class.four]=\"accountNames.length > 3\"\n [class.five]=\"accountNames.length > 4\">\n @for (accountName of accountNames; track accountName; let i = $index) {\n <div class=\"user\">\n <!--<img *ngIf=\"accountName && empUtils.getEmployee(accountName)\" alt=\"\" [src]=\"empUtils.getEmployee(accountName) | employeePhotoUrl:cacheService.photos\">-->\n @if (getPhoto(accountName)) {\n <img matListItemAvatar alt=\"\" [src]=\"getPhoto(accountName)\">\n }\n @if (getGroup(accountName)) {\n <mat-icon>group</mat-icon>\n }\n <mat-form-field>\n <!-- [disabled]=\"!isEdge\" -->\n <input matInput disabled [placeholder]=\"i === 0 ? placeholder : ''\"\n [value]=\"getUser(accountName) ? getUser(accountName)?.displayName : getGroup(accountName) ? getGroup(accountName)?.displayName : accountName\">\n <button matSuffix mat-icon-button aria-label=\"Clear\" (click)=\"$event.stopPropagation(); unSelectUser(accountName)\">\n <mat-icon fontIcon=\"close\"></mat-icon>\n </button>\n </mat-form-field>\n </div>\n }\n </div>\n }\n </div>\n}", styles: [".user{display:grid;grid-template-columns:auto 1fr;grid-gap:.5em;align-items:center}.clickable,.clickable input{cursor:pointer!important}img{width:2em;height:2em;border-radius:100%}@media (min-width:801px){.grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:1em}.three{grid-template-columns:repeat(3,1fr)}.four{grid-template-columns:repeat(4,1fr)}.five{grid-template-columns:repeat(5,1fr)}::ng-deep .grid mat-form-field{width:15vw}}input[disabled]{pointer-events:none}\n"] }]
|
|
577
|
+
}], ctorParameters: () => [{ type: i1.MatDialog }, { type: i2.ActiveDirectoryService }, { type: i3.SharePointService }], propDecorators: { usersSelected: [{
|
|
579
578
|
type: Output
|
|
580
579
|
}], userUnSelected: [{
|
|
581
580
|
type: Output
|
|
@@ -602,8 +601,8 @@ class GuiModule {
|
|
|
602
601
|
throw new Error('ActiveDirectoryGuiModule is already loaded. Import it in the AppModule only');
|
|
603
602
|
}
|
|
604
603
|
}
|
|
605
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
606
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
604
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: GuiModule, deps: [{ token: GuiModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
605
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: GuiModule, declarations: [UserChooserComponent,
|
|
607
606
|
UserFormFieldComponent], imports: [CommonModule,
|
|
608
607
|
ReactiveFormsModule,
|
|
609
608
|
MatButtonModule,
|
|
@@ -618,7 +617,7 @@ class GuiModule {
|
|
|
618
617
|
MatTableModule,
|
|
619
618
|
MatTooltipModule], exports: [UserChooserComponent,
|
|
620
619
|
UserFormFieldComponent] }); }
|
|
621
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
620
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: GuiModule, imports: [CommonModule,
|
|
622
621
|
ReactiveFormsModule,
|
|
623
622
|
MatButtonModule,
|
|
624
623
|
MatDialogModule,
|
|
@@ -632,7 +631,7 @@ class GuiModule {
|
|
|
632
631
|
MatTableModule,
|
|
633
632
|
MatTooltipModule] }); }
|
|
634
633
|
}
|
|
635
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
634
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: GuiModule, decorators: [{
|
|
636
635
|
type: NgModule,
|
|
637
636
|
args: [{
|
|
638
637
|
declarations: [
|
|
@@ -659,11 +658,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.4", ngImpor
|
|
|
659
658
|
UserFormFieldComponent
|
|
660
659
|
]
|
|
661
660
|
}]
|
|
662
|
-
}], ctorParameters:
|
|
661
|
+
}], ctorParameters: () => [{ type: GuiModule, decorators: [{
|
|
663
662
|
type: Optional
|
|
664
663
|
}, {
|
|
665
664
|
type: SkipSelf
|
|
666
|
-
}] }]
|
|
665
|
+
}] }] });
|
|
667
666
|
|
|
668
667
|
/**
|
|
669
668
|
* Generated bundle index. Do not edit.
|