@stratusjs/angular 0.3.7 → 0.3.9
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/package.json +1 -1
- package/src/editor/editor.component.js +3 -2
- package/src/editor/editor.component.js.map +1 -1
- package/src/editor/editor.component.min.js +1 -1
- package/src/editor/editor.component.ts +3 -2
- package/src/editor/link-dialog.component.css +218 -0
- package/src/editor/link-dialog.component.css.map +1 -1
- package/src/editor/link-dialog.component.html +108 -195
- package/src/editor/link-dialog.component.js +62 -17
- package/src/editor/link-dialog.component.js.map +1 -1
- package/src/editor/link-dialog.component.min.css +1 -1
- package/src/editor/link-dialog.component.min.html +1 -7
- package/src/editor/link-dialog.component.min.js +1 -1
- package/src/editor/link-dialog.component.scss +253 -0
- package/src/editor/link-dialog.component.ts +85 -24
- package/src/froala/plugins/inputButton.js.map +1 -1
- package/src/froala/plugins/inputButton.ts +170 -0
- package/src/tree/tree-dialog.component.js.map +1 -1
- package/src/tree/tree-dialog.component.ts +5 -0
|
@@ -1,208 +1,121 @@
|
|
|
1
1
|
<h1 mat-dialog-title>Link Selector</h1>
|
|
2
2
|
|
|
3
|
-
<!-- Note: This spawns from the Media Dialog Component, so the UI here will need a revamp after it becomes functional. -->
|
|
4
3
|
<div mat-dialog-content class="link-dialog-content">
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
<form class="dialog-form"
|
|
5
|
+
*ngIf="isStyled"
|
|
6
|
+
[formGroup]='dialogContentForm'>
|
|
7
7
|
<mat-form-field class="form-field">
|
|
8
|
-
<input matInput
|
|
8
|
+
<input matInput
|
|
9
|
+
placeholder="Search Content"
|
|
10
|
+
aria-label="Search Content"
|
|
11
|
+
[matAutocomplete]="auto"
|
|
12
|
+
formControlName='contentSelectorInput'>
|
|
9
13
|
</mat-form-field>
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
</ng-template>
|
|
31
|
-
</mat-card-title>
|
|
32
|
-
<mat-card-subtitle>
|
|
33
|
-
<ng-container *ngIf="contentEntity.contentType.name && contentEntity.contentType.name.length > 24; else defaultSubtitle">
|
|
34
|
-
<span [matTooltip]="contentEntity.contentType.name"
|
|
35
|
-
[innerText]="(contentEntity.contentType.name | slice:0:21) + '...'"
|
|
36
|
-
[style.cursor]="'help'">
|
|
37
|
-
</span>
|
|
38
|
-
</ng-container>
|
|
39
|
-
<ng-template #defaultSubtitle>
|
|
40
|
-
<span [innerText]="contentEntity.contentType.name"
|
|
41
|
-
[style.cursor]="'default'">
|
|
42
|
-
</span>
|
|
43
|
-
</ng-template>
|
|
44
|
-
</mat-card-subtitle>
|
|
45
|
-
</mat-card-header>
|
|
46
|
-
<ng-template #defaultBody>
|
|
14
|
+
<mat-autocomplete autoActiveFirstOption
|
|
15
|
+
#auto="matAutocomplete"
|
|
16
|
+
[displayWith]="displayContentText">
|
|
17
|
+
<mat-option *ngIf="isContentLoading" class="is-loading">
|
|
18
|
+
<mat-spinner diameter="50"></mat-spinner>
|
|
19
|
+
</mat-option>
|
|
20
|
+
<ng-container *ngIf="!isContentLoading">
|
|
21
|
+
<!-- TODO: Modify to filteredContentModels|async which should improve responsiveness -->
|
|
22
|
+
<mat-option *ngFor="let model of contentEntities"
|
|
23
|
+
[value]="model">
|
|
24
|
+
<!-- Display Best Image -->
|
|
25
|
+
<!--
|
|
26
|
+
<span class="image position-all"
|
|
27
|
+
style="background-size: cover"
|
|
28
|
+
*ngIf="_.has(model, 'version.bestImage._thumbnailUrl')"
|
|
29
|
+
[style.background]="'url(' + _.get(model, 'version.bestImage._thumbnailUrl') + ') no-repeat center center'">
|
|
30
|
+
</span>
|
|
31
|
+
-->
|
|
32
|
+
|
|
33
|
+
<!-- Content Type Icon -->
|
|
47
34
|
<mat-icon aria-hidden="true"
|
|
48
|
-
|
|
49
|
-
|
|
35
|
+
*ngIf="_.get(model, 'contentType.iconResourcePath')"
|
|
36
|
+
[svgIcon]="getSvg(Stratus.BaseUrl + _.get(model, 'contentType.iconResourcePath')) | async">
|
|
37
|
+
Icon
|
|
50
38
|
</mat-icon>
|
|
51
|
-
</ng-template>
|
|
52
|
-
<ng-container *ngIf="contentEntity.version && contentEntity.version.bestImage; else defaultBody">
|
|
53
|
-
<ng-container *ngIf="contentEntity.version.bestImage._thumbnailUrl">
|
|
54
|
-
<img mat-card-image
|
|
55
|
-
class="generic-thumb basic-image"
|
|
56
|
-
[src]="contentEntity.version.bestImage.mime !== 'image/gif' ? contentEntity.version.bestImage._thumbnailUrl : contentEntity.version.bestImage._directUrl"
|
|
57
|
-
[alt]="contentEntity.version.title"
|
|
58
|
-
[ngClass]="{'selected' : isSelected(contentEntity)}">
|
|
59
|
-
</ng-container>
|
|
60
|
-
<ng-container *ngIf="!contentEntity.version.bestImage._thumbnailUrl
|
|
61
|
-
&& contentEntity.version.bestImage.mime === 'video'">
|
|
62
|
-
<ng-container *ngIf="contentEntity.version.bestImage.service === 'vimeo'">
|
|
63
|
-
<ng-container *ngIf="contentEntity.version.bestImage.meta && contentEntity.version.bestImage.meta.thumbnail_large; else basicVimeoButton">
|
|
64
|
-
<!-- [src]="contentEntity.version.bestImage.meta.thumbnail_large || Stratus.BaseUrl + 'sitetheorymedia/images/mediaTypeIcons/media-icon-video.png'" -->
|
|
65
|
-
<img mat-card-image
|
|
66
|
-
class="vimeo"
|
|
67
|
-
[src]="contentEntity.version.bestImage.meta.thumbnail_large"
|
|
68
|
-
[alt]="contentEntity.version.title"
|
|
69
|
-
[ngClass]="{'selected' : isSelected(contentEntity)}">
|
|
70
|
-
</ng-container>
|
|
71
|
-
<ng-template #basicVimeoButton>
|
|
72
|
-
<!-- TODO: Change Generic Video Image to Generic Vimeo Image -->
|
|
73
|
-
<!-- Generic Video Image -->
|
|
74
|
-
<!-- TODO: make this a local file -->
|
|
75
|
-
<img mat-card-image
|
|
76
|
-
class="vimeo basic-image"
|
|
77
|
-
[src]="Stratus.BaseUrl + 'sitetheorymedia/images/mediaTypeIcons/media-icon-video.png'"
|
|
78
|
-
style="background: #4e4e4e;"
|
|
79
|
-
[alt]="contentEntity.version.title"
|
|
80
|
-
[ngClass]="{'selected' : isSelected(contentEntity)}">
|
|
81
|
-
</ng-template>
|
|
82
|
-
</ng-container>
|
|
83
|
-
<ng-container *ngIf="contentEntity.version.bestImage.service === 'youtube'">
|
|
84
|
-
<ng-container *ngIf="contentEntity.version.bestImage.serviceMediaId; else basicYoutubeButton">
|
|
85
|
-
<img mat-card-image
|
|
86
|
-
class="youtube"
|
|
87
|
-
[src]="'https://img.youtube.com/vi/' + contentEntity.version.bestImage.serviceMediaId + '/hqdefault.jpg'"
|
|
88
|
-
[alt]="contentEntity.version.title"
|
|
89
|
-
[ngClass]="{'selected' : isSelected(contentEntity)}">
|
|
90
|
-
</ng-container>
|
|
91
|
-
<ng-template #basicYoutubeButton>
|
|
92
|
-
<!-- TODO: Change Generic Video Image to Generic Youtube Image -->
|
|
93
|
-
<!-- Generic Video Image -->
|
|
94
|
-
<!-- TODO: make this a local file -->
|
|
95
|
-
<img mat-card-image
|
|
96
|
-
class="youtube basic-image"
|
|
97
|
-
[src]="Stratus.BaseUrl + 'sitetheorymedia/images/mediaTypeIcons/media-icon-video.png'"
|
|
98
|
-
style="background: #4e4e4e;"
|
|
99
|
-
[alt]="contentEntity.version.title"
|
|
100
|
-
[ngClass]="{'selected' : isSelected(contentEntity)}">
|
|
101
|
-
</ng-template>
|
|
102
|
-
</ng-container>
|
|
103
|
-
<ng-container *ngIf="contentEntity.version.bestImage.service === 'facebook'">
|
|
104
|
-
<!-- TODO: Change Generic Video Image until we have dynamic thumbnails fetched -->
|
|
105
|
-
<!-- Generic Video Image -->
|
|
106
|
-
<!-- TODO: make this a local file -->
|
|
107
|
-
<img mat-card-image
|
|
108
|
-
class="facebook-video basic-image"
|
|
109
|
-
[src]="Stratus.BaseUrl + 'sitetheorymedia/images/mediaTypeIcons/media-icon-video.png'"
|
|
110
|
-
style="background: #4e4e4e;"
|
|
111
|
-
[alt]="contentEntity.version.title"
|
|
112
|
-
[ngClass]="{'selected' : isSelected(contentEntity)}">
|
|
113
|
-
</ng-container>
|
|
114
|
-
<ng-container *ngIf="!['vimeo', 'youtube', 'facebook'].includes(contentEntity.version.bestImage.service)">
|
|
115
|
-
<!-- Generic Video Image -->
|
|
116
|
-
<!-- TODO: make this a local file -->
|
|
117
|
-
<img mat-card-image
|
|
118
|
-
class="generic-video basic-image"
|
|
119
|
-
[src]="Stratus.BaseUrl + 'sitetheorymedia/images/mediaTypeIcons/media-icon-video.png'"
|
|
120
|
-
style="background: #4e4e4e;"
|
|
121
|
-
[alt]="contentEntity.version.title"
|
|
122
|
-
[ngClass]="{'selected' : isSelected(contentEntity)}">
|
|
123
|
-
</ng-container>
|
|
124
|
-
</ng-container>
|
|
125
|
-
<ng-container *ngIf="!contentEntity.version.bestImage._thumbnailUrl
|
|
126
|
-
&& _.startsWith(contentEntity.version.bestImage.mime, 'audio')">
|
|
127
|
-
<!-- TODO: make this a local file -->
|
|
128
|
-
<img mat-card-image
|
|
129
|
-
class="generic-audio"
|
|
130
|
-
[src]="Stratus.BaseUrl + 'sitetheorymedia/images/mediaTypeGraphics/media-graphic-audio.png'"
|
|
131
|
-
style="background: #4e4e4e;"
|
|
132
|
-
[alt]="contentEntity.version.title"
|
|
133
|
-
[ngClass]="{'selected' : isSelected(contentEntity)}">
|
|
134
|
-
</ng-container>
|
|
135
|
-
<ng-container *ngIf="!contentEntity.version.bestImage._thumbnailUrl
|
|
136
|
-
&& contentEntity.version.bestImage.mime === 'application/pdf'">
|
|
137
|
-
<!-- TODO: make this a local file -->
|
|
138
|
-
<img mat-card-image
|
|
139
|
-
class="generic-pdf basic-image"
|
|
140
|
-
[src]="Stratus.BaseUrl + 'sitetheorymedia/images/mediaTypeGraphics/media-graphic-pdf.png'"
|
|
141
|
-
[alt]="contentEntity.version.title"
|
|
142
|
-
[ngClass]="{'selected' : isSelected(contentEntity)}">
|
|
143
|
-
</ng-container>
|
|
144
|
-
<ng-container *ngIf="!contentEntity.version.bestImage._thumbnailUrl
|
|
145
|
-
&& contentEntity.version.bestImage.mime === 'application/msword'">
|
|
146
|
-
<!-- TODO: make this a local file -->
|
|
147
|
-
<img mat-card-image
|
|
148
|
-
class="generic-word basic-image"
|
|
149
|
-
[src]="Stratus.BaseUrl + 'sitetheorymedia/images/mediaTypeGraphics/media-graphic-doc.png'"
|
|
150
|
-
[alt]="contentEntity.version.title"
|
|
151
|
-
[ngClass]="{'selected' : isSelected(contentEntity)}">
|
|
152
|
-
</ng-container>
|
|
153
|
-
<ng-container *ngIf="!contentEntity.version.bestImage._thumbnailUrl
|
|
154
|
-
&& contentEntity.version.bestImage.service === 'directLink'
|
|
155
|
-
&& contentEntity.version.bestImage.file">
|
|
156
|
-
<!-- In some cases, there are external images with a service of 'directLink' -->
|
|
157
|
-
<img mat-card-image
|
|
158
|
-
class="direct-link"
|
|
159
|
-
[src]="contentEntity.version.bestImage.file"
|
|
160
|
-
[alt]="contentEntity.version.title"
|
|
161
|
-
[ngClass]="{'selected' : isSelected(contentEntity)}">
|
|
162
|
-
</ng-container>
|
|
163
39
|
|
|
164
|
-
<!--
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
40
|
+
<!-- Title & Route Display -->
|
|
41
|
+
<!--<span [class.selected-item]="isSelected(model)">-->
|
|
42
|
+
{{(model && model.version) ? model.version.title : 'Untitled'}}
|
|
43
|
+
<small *ngIf="model.routing && model.routing.length">
|
|
44
|
+
{{'/' + model.routing[0].url}}
|
|
45
|
+
</small>
|
|
46
|
+
</mat-option>
|
|
47
|
+
</ng-container>
|
|
48
|
+
</mat-autocomplete>
|
|
49
|
+
</form>
|
|
50
|
+
<!-- List View and AutoComplete View Progress Bars -->
|
|
51
|
+
<mat-progress-bar mode="indeterminate" *ngIf="!isListView && !isStyled"></mat-progress-bar>
|
|
52
|
+
<mat-progress-bar mode="indeterminate" *ngIf="isListView && (isContentLoading || !isStyled)"></mat-progress-bar>
|
|
53
|
+
<!-- TODO: Remove the following list as everything is being phased into the AutoComplete -->
|
|
54
|
+
<div class="content-list" *ngIf="isListView && isStyled">
|
|
55
|
+
<!--[matTooltip]="isSelected(model) ? 'Selected' : 'Not Selected'"-->
|
|
56
|
+
<div class="content-list-row content-box"
|
|
57
|
+
[ngClass]="{'active': _.get(model, 'status') === 1, 'inactive' : _.get(model, 'status') !== 1, 'published': _.get(model, 'version.published') === 1, 'unpublished': _.get(model, 'version.published') !== 1, 'selected': isSelected(model)}"
|
|
58
|
+
(click)="select(model)"
|
|
59
|
+
*ngFor="let model of contentEntities">
|
|
60
|
+
<div class="content-list-container">
|
|
61
|
+
<div class="column-image position-anchor">
|
|
62
|
+
<!-- This adds stratus-src lazy loading if bestImage isn't a third party service without image sizes, e.g. Video -->
|
|
63
|
+
<div class="image position-all"
|
|
64
|
+
*ngIf="_.has(model, 'version.bestImage._thumbnailUrl')"
|
|
65
|
+
[attr.data-stratus-src]="!_.get(model, 'version.bestImage.service') ? true : false"
|
|
66
|
+
[ngStyle]="{'background': 'url(' + _.get(model, 'version.bestImage._thumbnailUrl') + ') no-repeat center center', 'background-size': 'cover'}">
|
|
67
|
+
</div>
|
|
68
|
+
|
|
69
|
+
<!-- Icon for items with no image -->
|
|
70
|
+
<div class="no-image-icon position-all"
|
|
71
|
+
*ngIf="!_.has(model, 'version.bestImage._thumbnailUrl')"
|
|
72
|
+
[ngClass]="_.get(model, 'contentType.class') + '-background-color'">
|
|
73
|
+
|
|
74
|
+
<mat-icon class="content-type-icon position-center"
|
|
75
|
+
[svgIcon]="getSvg(Stratus.BaseUrl + (_.get(model, 'contentType.iconResourcePath') || _.get(model, 'iconResourcePath'))) | async">
|
|
76
|
+
Icon
|
|
77
|
+
</mat-icon>
|
|
78
|
+
</div>
|
|
79
|
+
|
|
80
|
+
<!-- Shapeholder -->
|
|
81
|
+
<img class="shapeholder" [src]="Stratus.BaseUrl + 'sitetheorycore/images/shapeholder-square.png'">
|
|
180
82
|
|
|
181
|
-
</
|
|
83
|
+
</div>
|
|
84
|
+
<div class="column-title">
|
|
85
|
+
<!-- _.has(model, 'iconResourcePath') || _.has(model, 'contentType.iconResourcePath') -->
|
|
86
|
+
<div class="content-type" *ngIf="_.has(model, 'contentType.iconResourcePath')">
|
|
87
|
+
<!--
|
|
88
|
+
I disabled the position-center class on this one as it causes the icon
|
|
89
|
+
to break away from the div and float to the top of the selector container
|
|
90
|
+
-->
|
|
91
|
+
<mat-icon class="content-type-icon"
|
|
92
|
+
[svgIcon]="getSvg(Stratus.BaseUrl + _.get(model, 'contentType.iconResourcePath')) | async">
|
|
93
|
+
ContentType Icon
|
|
94
|
+
</mat-icon>
|
|
95
|
+
<span class="comment content-type-name font-body"
|
|
96
|
+
[ngClass]="((_.get(model, 'contentType.name') || _.get(model, 'name')) | lowercase) + '-color'"
|
|
97
|
+
[textContent]="(_.get(model, 'contentType.name') || _.get(model, 'name')) + ((_.get(model, 'status') !== 1) ? ' (hidden)' : '') + ((_.get(model, 'version.published') !== 1) ? ' (unpublished)' : '')">
|
|
98
|
+
</span>
|
|
99
|
+
</div>
|
|
182
100
|
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
<
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
101
|
+
<!-- This include fallbacks in case a version is not present -->
|
|
102
|
+
<h3 [innerHTML]="_.get(model, 'version.bestIdentifier') || _.get(model, 'name') || (_.get(model, 'contentType.controller') === 'Content\\Module' ? _.get(model, 'version.internalIdentifier') : 'Untitled ' + _.get(model, 'contentType.name') + ' (' + _.get(model, 'id') + ')')"></h3>
|
|
103
|
+
<!-- TODO: make this clickable in new window -->
|
|
104
|
+
<span class="routing"
|
|
105
|
+
[textContent]="(_.has(model, 'routing') ? '/' + _.get(model, 'routing[0].url') : null) || _.get(model, 'description') || ''">
|
|
106
|
+
</span>
|
|
107
|
+
</div>
|
|
108
|
+
<div class="column-action">
|
|
109
|
+
<a mat-button
|
|
110
|
+
*ngIf="_.has(model, 'contentType.editUrl')"
|
|
111
|
+
[matTooltip]="'Edit ' + (_.get(model, 'contentType.name') || _.get(model, 'name'))"
|
|
112
|
+
aria-label="Edit Item in New Window"
|
|
113
|
+
class="btn btn-edit"
|
|
114
|
+
(click)="goToUrl(model, '_blank');">
|
|
115
|
+
<mat-icon svgIcon="selector_edit" aria-hidden="false" aria-label="Edit Item">Edit</mat-icon>
|
|
116
|
+
</a>
|
|
117
|
+
</div>
|
|
118
|
+
</div>
|
|
200
119
|
</div>
|
|
201
120
|
</div>
|
|
202
|
-
<!-- Pagination is based on the latest Convoy Meta -->
|
|
203
|
-
<mat-paginator [length]="(!meta || !meta.pagination) ? contentEntities.length : (meta.pagination.countTotal || contentEntities.length)"
|
|
204
|
-
[pageSize]="(!meta || !meta.pagination) ? limit : (meta.pagination.limit || limit)"
|
|
205
|
-
[pageSizeOptions]="[5, 10, 25, 50, 100]"
|
|
206
|
-
(page)="onPage($event)">
|
|
207
|
-
</mat-paginator>
|
|
208
121
|
</div>
|
|
@@ -84,13 +84,31 @@ System.register(["@angular/core", "@angular/forms", "@angular/material/dialog",
|
|
|
84
84
|
this.isContentLoading = true;
|
|
85
85
|
this.limit = 20;
|
|
86
86
|
this.eventInsert = true;
|
|
87
|
+
this.isListView = false;
|
|
87
88
|
this.selected = [];
|
|
88
89
|
this.svgIcons = {};
|
|
90
|
+
this.isInitialized = false;
|
|
91
|
+
this.isDestroyed = false;
|
|
92
|
+
this.isStyled = false;
|
|
89
93
|
}
|
|
90
94
|
ngOnInit() {
|
|
91
95
|
this.uid = lodash_1.default.uniqueId(`sa_${lodash_1.default.snakeCase(moduleName)}_component_`);
|
|
92
96
|
stratus_1.Stratus.Instances[this.uid] = this;
|
|
93
|
-
stratus_1.Stratus.Internals.CssLoader(`${localDir}${parentModuleName}/${moduleName}.component${min}.css`)
|
|
97
|
+
stratus_1.Stratus.Internals.CssLoader(`${localDir}${parentModuleName}/${moduleName}.component${min}.css`)
|
|
98
|
+
.then(() => {
|
|
99
|
+
this.isStyled = true;
|
|
100
|
+
this.refresh();
|
|
101
|
+
})
|
|
102
|
+
.catch((err) => {
|
|
103
|
+
console.warn('Issue detected in CSS Loader for Component:', this);
|
|
104
|
+
console.error(err);
|
|
105
|
+
this.isStyled = true;
|
|
106
|
+
this.refresh();
|
|
107
|
+
});
|
|
108
|
+
lodash_1.default.forEach({
|
|
109
|
+
selector_delete: `${stratus_1.Stratus.BaseUrl}sitetheorycore/images/icons/actionButtons/delete.svg`,
|
|
110
|
+
selector_edit: `${stratus_1.Stratus.BaseUrl}sitetheorycore/images/icons/actionButtons/edit.svg`
|
|
111
|
+
}, (value, key) => this.iconRegistry.addSvgIcon(key, this.sanitizer.bypassSecurityTrustResourceUrl(value)).getNamedSvgIcon(key));
|
|
94
112
|
this.model = this.data.model;
|
|
95
113
|
this.property = this.data.property;
|
|
96
114
|
this.editor = this.data.editor;
|
|
@@ -98,19 +116,34 @@ System.register(["@angular/core", "@angular/forms", "@angular/material/dialog",
|
|
|
98
116
|
if (lodash_1.default.isBoolean(this.data.eventInsert)) {
|
|
99
117
|
this.eventInsert = this.data.eventInsert;
|
|
100
118
|
}
|
|
101
|
-
this.
|
|
102
|
-
|
|
119
|
+
this.dialogContentForm = this.fb.group({
|
|
120
|
+
contentSelectorInput: ''
|
|
103
121
|
});
|
|
104
|
-
this.
|
|
105
|
-
.get('
|
|
122
|
+
this.dialogContentForm
|
|
123
|
+
.get('contentSelectorInput')
|
|
106
124
|
.valueChanges
|
|
107
|
-
.pipe(operators_1.debounceTime(300), operators_1.tap(() => {
|
|
108
|
-
|
|
125
|
+
.pipe(operators_1.debounceTime(300), operators_1.tap(() => this.isContentLoading = true), operators_1.switchMap((value) => {
|
|
126
|
+
if (!lodash_1.default.isString(value)) {
|
|
127
|
+
this.select(value);
|
|
128
|
+
return this.getQuery();
|
|
129
|
+
}
|
|
109
130
|
return this.getQuery(value);
|
|
110
131
|
}))
|
|
111
132
|
.subscribe((response) => this.processContent(response));
|
|
112
|
-
this.
|
|
113
|
-
|
|
133
|
+
this.backend
|
|
134
|
+
.get(this.getQueryUrl())
|
|
135
|
+
.pipe(operators_1.finalize(() => this.isContentLoading = false))
|
|
136
|
+
.subscribe((response) => this.processContent(response));
|
|
137
|
+
this.isInitialized = true;
|
|
138
|
+
}
|
|
139
|
+
ngOnDestroy() {
|
|
140
|
+
this.isDestroyed = true;
|
|
141
|
+
}
|
|
142
|
+
refresh() {
|
|
143
|
+
if (this.isDestroyed) {
|
|
144
|
+
return new Promise(resolve => resolve());
|
|
145
|
+
}
|
|
146
|
+
return super.refresh();
|
|
114
147
|
}
|
|
115
148
|
onCancelClick() {
|
|
116
149
|
this.dialogRef.close();
|
|
@@ -121,14 +154,8 @@ System.register(["@angular/core", "@angular/forms", "@angular/material/dialog",
|
|
|
121
154
|
this.getQuery(this.lastContentQuery).subscribe((response) => this.processContent(response));
|
|
122
155
|
}
|
|
123
156
|
getQueryUrl(query) {
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
if (this.pageEvent) {
|
|
127
|
-
limit = this.pageEvent.pageSize;
|
|
128
|
-
paging = this.pageEvent.pageIndex + 1;
|
|
129
|
-
}
|
|
130
|
-
query = (lodash_1.default.isString(query) && !lodash_1.default.isEmpty(query)) ? `"${query}"` : '';
|
|
131
|
-
return `${this.apiBase}?limit=${limit}&p=${paging}&q=${query}`;
|
|
157
|
+
query = (!lodash_1.default.isString(query) || lodash_1.default.isEmpty(query)) ? '' : `"${query}"`;
|
|
158
|
+
return `${this.apiBase}?limit=${this.limit}&options[isContent]=null&options[isCollection]=null&options[showRoutable]=true&options[showRouting]=true&q=${query}`;
|
|
132
159
|
}
|
|
133
160
|
getQuery(query) {
|
|
134
161
|
this.lastContentQuery = query;
|
|
@@ -189,6 +216,7 @@ System.register(["@angular/core", "@angular/forms", "@angular/material/dialog",
|
|
|
189
216
|
return;
|
|
190
217
|
}
|
|
191
218
|
this.eventManager.trigger('insert', linkElement, this.editor);
|
|
219
|
+
this.onCancelClick();
|
|
192
220
|
}
|
|
193
221
|
isSelected(content) {
|
|
194
222
|
if (lodash_1.default.isUndefined(content)) {
|
|
@@ -249,6 +277,23 @@ System.register(["@angular/core", "@angular/forms", "@angular/material/dialog",
|
|
|
249
277
|
this.iconRegistry.addSvgIcon(uid, this.sanitizer.bypassSecurityTrustResourceUrl(url), options);
|
|
250
278
|
return uid;
|
|
251
279
|
}
|
|
280
|
+
displayContentText(content) {
|
|
281
|
+
if (!content) {
|
|
282
|
+
return;
|
|
283
|
+
}
|
|
284
|
+
const routing = lodash_1.default.get(content, 'routing[0].url');
|
|
285
|
+
const routingText = !lodash_1.default.isUndefined(routing) ? ` (/${routing})` : ' (No route!)';
|
|
286
|
+
const contentId = lodash_1.default.get(content, 'id');
|
|
287
|
+
const contentIdText = !lodash_1.default.isUndefined(contentId) ? `Content: ${contentId}` : null;
|
|
288
|
+
return (lodash_1.default.get(content, 'version.title') || contentIdText) + routingText;
|
|
289
|
+
}
|
|
290
|
+
goToUrl(content) {
|
|
291
|
+
if (!content || !content.contentType) {
|
|
292
|
+
console.error('unable to execute goToUrl() because a valid model content was not provided.');
|
|
293
|
+
return;
|
|
294
|
+
}
|
|
295
|
+
window.open(content.contentType.editUrl + '?id=' + content.id, '_blank');
|
|
296
|
+
}
|
|
252
297
|
};
|
|
253
298
|
LinkDialogComponent = __decorate([
|
|
254
299
|
core_1.Component({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["link-dialog.component.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"sources":["link-dialog.component.ts"],"names":[],"mappings":"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","file":"link-dialog.component.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.link-dialog-content .radio-group{display:flex;flex-direction:column;margin:15px 0}.link-dialog-content .radio-button{margin:5px}.link-dialog-content img.selected{opacity:.5}.link-dialog-content .link-card{max-width:400px}.link-dialog-content .link-header-image{background-size:cover}
|
|
1
|
+
.link-dialog-content{margin:0 auto}.link-dialog-content .radio-group{display:flex;flex-direction:column;margin:15px 0}.link-dialog-content .radio-button{margin:5px}.link-dialog-content img.selected{opacity:.5}.link-dialog-content .link-card{max-width:400px}.link-dialog-content .link-header-image{background-size:cover}.link-dialog-content .autocomplete-option .content-type{margin-bottom:2px}.link-dialog-content .autocomplete-option .content-type mat-icon,.link-dialog-content .autocomplete-option .content-type md-icon{margin-right:4px;height:14px;width:14px;min-height:14px;min-width:14px}.link-dialog-content .autocomplete-option .content-type .content-type-name{font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:1px}.link-dialog-content .autocomplete-option .no-image-icon mat-icon,.link-dialog-content .autocomplete-option .no-image-icon md-icon{height:28px;width:28px;min-height:28px;min-width:28px}.link-dialog-content .autocomplete-option .no-image-icon mat-icon svg g,.link-dialog-content .autocomplete-option .no-image-icon md-icon svg g{fill:#fff}.link-dialog-content .autocomplete-option .shapeholder{width:100%;display:block}.link-dialog-content .content-selector-autocomplete .column-title h3{margin:0 0 5px;font-size:16px}.link-dialog-content .content-selector,.link-dialog-content md-autocomplete{margin-top:12px}.link-dialog-content .selector-filter md-checkbox{padding-right:10px}.link-dialog-content .md-autocomplete-suggestions li{height:80px}.link-dialog-content .content-selector-autocomplete .autocomplete-row{padding:4px 0;border-bottom:1px solid rgba(0,0,0,.1)}.link-dialog-content .content-selector-autocomplete .autocomplete-row *{line-height:1.4}.link-dialog-content .content-selector-autocomplete .autocomplete-row .column-image .image-container{margin-right:18px}.link-dialog-content .content-selector-autocomplete .autocomplete-row h3{font-size:14px}.link-dialog-content .content-selector-autocomplete .autocomplete-row .routing{font-size:13px}.link-dialog-content .content-selector-autocomplete .content .column-title,.link-dialog-content .content-selector-autocomplete .content .image{opacity:.3}.link-dialog-content .content-selector-autocomplete .content mat-icon.content-icon,.link-dialog-content .content-selector-autocomplete .content md-icon.content-icon{z-index:5;height:40px;width:40px;min-height:40px;min-width:40px}.link-dialog-content .content-selector-autocomplete .content mat-icon.content-icon svg,.link-dialog-content .content-selector-autocomplete .content md-icon.content-icon svg{filter:drop-shadow(0 0 1px rgba(0, 0, 0, .5));-webkit-filter:drop-shadow(0 0 1px rgba(0, 0, 0, .5))}.link-dialog-content .content-selector-autocomplete .content mat-icon.content-icon svg g,.link-dialog-content .content-selector-autocomplete .content md-icon.content-icon svg g{fill:#fff}.link-dialog-content .selector-wrapper{background:rgba(255,255,255,.4);margin-top:20px;padding:40px}.link-dialog-content .content-list{margin:0 auto;max-width:600px;min-height:60px;display:block;border-radius:4px;overflow:hidden}.link-dialog-content .content-box{padding:12px 16px;color:rgba(0,0,0,.87);display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;background:#fff;font-size:14px}.link-dialog-content .content-box:last-child{border:none}.link-dialog-content .custom-ghost-placeholder{background:rgba(0,0,0,.4);min-height:60px;transition:transform 250ms cubic-bezier(0,0,.2,1)}.link-dialog-content .column-action,.link-dialog-content .column-image,.link-dialog-content .column-title{float:left}.link-dialog-content .column-image{width:15%;padding-right:10px}.link-dialog-content .column-image .image,.link-dialog-content .column-image .no-image-icon{margin-right:10px}.link-dialog-content .column-title{width:70%}.link-dialog-content .column-action{width:15%}.link-dialog-content .column-action>*{display:inline-block;vertical-align:middle;margin-bottom:2px}.link-dialog-content .column-action>:last-child{margin-bottom:0}.link-dialog-content .content-box.cdk-drag-preview .column-image{width:15%}.link-dialog-content .content-box.cdk-drag-preview .column-title{width:85%}.link-dialog-content .routing{color:#333;font-size:13px}.link-dialog-content .content-list .content-list-header{margin-bottom:20px;padding-bottom:20px}.link-dialog-content .content-list .content-list-header .note,.link-dialog-content .content-list .content-list-header h3{margin:0;display:inline-block;vertical-align:text-bottom;line-height:1.2}.link-dialog-content .content-list .content-list-header .note{padding-left:10px}.link-dialog-content .content-list .content-list-container{width:100%}.link-dialog-content .content-list .content-list-row{margin-bottom:10px;padding:12px 16px;background:rgba(0,0,0,.04);border-radius:2px;cursor:pointer}.link-dialog-content .content-list .content-list-row.inactive{background:#ddd}.link-dialog-content .content-list .content-list-row.unpublished{background:#ddd}.link-dialog-content .content-list .btn.btn-delete,.link-dialog-content .content-list .btn.btn-edit{float:right;width:35px;min-width:unset;height:35px;font-size:10px;margin-left:12px;padding:0;background:#fff;box-shadow:0 0 2px rgba(0,0,0,.3)}.link-dialog-content .content-list .btn.btn-delete:hover,.link-dialog-content .content-list .btn.btn-edit:hover{background:#fff;box-shadow:0 0 2px rgba(0,0,0,.8)}.link-dialog-content .content-list .btn.btn-delete svg,.link-dialog-content .content-list .btn.btn-edit svg{margin:0 auto;width:60%}.link-dialog-content .content-list .btn.btn-delete svg g,.link-dialog-content .content-list .btn.btn-edit svg g{fill:#222}.link-dialog-content .firefox .btn.btn-delete svg,.link-dialog-content .firefox .btn.btn-delete svg g,.link-dialog-content .firefox .btn.btn-edit svg,.link-dialog-content .firefox .btn.btn-edit svg g{max-width:28px;max-height:28px}
|
|
@@ -1,7 +1 @@
|
|
|
1
|
-
<h1 mat-dialog-title>Link Selector</h1><div mat-dialog-content class="link-dialog-content"><form class="dialog-form" [formGroup]="
|
|
2
|
-
&& contentEntity.version.bestImage.mime === 'video'"><ng-container *ngIf="contentEntity.version.bestImage.service === 'vimeo'"><ng-container *ngIf="contentEntity.version.bestImage.meta && contentEntity.version.bestImage.meta.thumbnail_large; else basicVimeoButton"><img mat-card-image class="vimeo" [src]="contentEntity.version.bestImage.meta.thumbnail_large" [alt]="contentEntity.version.title" [ngClass]="{'selected' : isSelected(contentEntity)}"></ng-container><ng-template #basicVimeoButton><img mat-card-image class="vimeo basic-image" [src]="Stratus.BaseUrl + 'sitetheorymedia/images/mediaTypeIcons/media-icon-video.png'" style="background: #4e4e4e;" [alt]="contentEntity.version.title" [ngClass]="{'selected' : isSelected(contentEntity)}"></ng-template></ng-container><ng-container *ngIf="contentEntity.version.bestImage.service === 'youtube'"><ng-container *ngIf="contentEntity.version.bestImage.serviceMediaId; else basicYoutubeButton"><img mat-card-image class="youtube" [src]="'https://img.youtube.com/vi/' + contentEntity.version.bestImage.serviceMediaId + '/hqdefault.jpg'" [alt]="contentEntity.version.title" [ngClass]="{'selected' : isSelected(contentEntity)}"></ng-container><ng-template #basicYoutubeButton><img mat-card-image class="youtube basic-image" [src]="Stratus.BaseUrl + 'sitetheorymedia/images/mediaTypeIcons/media-icon-video.png'" style="background: #4e4e4e;" [alt]="contentEntity.version.title" [ngClass]="{'selected' : isSelected(contentEntity)}"></ng-template></ng-container><ng-container *ngIf="contentEntity.version.bestImage.service === 'facebook'"><img mat-card-image class="facebook-video basic-image" [src]="Stratus.BaseUrl + 'sitetheorymedia/images/mediaTypeIcons/media-icon-video.png'" style="background: #4e4e4e;" [alt]="contentEntity.version.title" [ngClass]="{'selected' : isSelected(contentEntity)}"></ng-container><ng-container *ngIf="!['vimeo', 'youtube', 'facebook'].includes(contentEntity.version.bestImage.service)"><img mat-card-image class="generic-video basic-image" [src]="Stratus.BaseUrl + 'sitetheorymedia/images/mediaTypeIcons/media-icon-video.png'" style="background: #4e4e4e;" [alt]="contentEntity.version.title" [ngClass]="{'selected' : isSelected(contentEntity)}"></ng-container></ng-container><ng-container *ngIf="!contentEntity.version.bestImage._thumbnailUrl
|
|
3
|
-
&& _.startsWith(contentEntity.version.bestImage.mime, 'audio')"><img mat-card-image class="generic-audio" [src]="Stratus.BaseUrl + 'sitetheorymedia/images/mediaTypeGraphics/media-graphic-audio.png'" style="background: #4e4e4e;" [alt]="contentEntity.version.title" [ngClass]="{'selected' : isSelected(contentEntity)}"></ng-container><ng-container *ngIf="!contentEntity.version.bestImage._thumbnailUrl
|
|
4
|
-
&& contentEntity.version.bestImage.mime === 'application/pdf'"><img mat-card-image class="generic-pdf basic-image" [src]="Stratus.BaseUrl + 'sitetheorymedia/images/mediaTypeGraphics/media-graphic-pdf.png'" [alt]="contentEntity.version.title" [ngClass]="{'selected' : isSelected(contentEntity)}"></ng-container><ng-container *ngIf="!contentEntity.version.bestImage._thumbnailUrl
|
|
5
|
-
&& contentEntity.version.bestImage.mime === 'application/msword'"><img mat-card-image class="generic-word basic-image" [src]="Stratus.BaseUrl + 'sitetheorymedia/images/mediaTypeGraphics/media-graphic-doc.png'" [alt]="contentEntity.version.title" [ngClass]="{'selected' : isSelected(contentEntity)}"></ng-container><ng-container *ngIf="!contentEntity.version.bestImage._thumbnailUrl
|
|
6
|
-
&& contentEntity.version.bestImage.service === 'directLink'
|
|
7
|
-
&& contentEntity.version.bestImage.file"><img mat-card-image class="direct-link" [src]="contentEntity.version.bestImage.file" [alt]="contentEntity.version.title" [ngClass]="{'selected' : isSelected(contentEntity)}"></ng-container></ng-container><mat-card-actions><button mat-button [disabled]="isSelected(contentEntity)" (click)="select(contentEntity)"><span [innerText]="isSelected(contentEntity) ? 'Selected' : 'Insert'"></span></button></mat-card-actions></mat-card></div></div><mat-paginator [length]="(!meta || !meta.pagination) ? contentEntities.length : (meta.pagination.countTotal || contentEntities.length)" [pageSize]="(!meta || !meta.pagination) ? limit : (meta.pagination.limit || limit)" [pageSizeOptions]="[5, 10, 25, 50, 100]" (page)="onPage($event)"></mat-paginator></div>
|
|
1
|
+
<h1 mat-dialog-title>Link Selector</h1><div mat-dialog-content class="link-dialog-content"><form class="dialog-form" *ngIf="isStyled" [formGroup]="dialogContentForm"><mat-form-field class="form-field"><input matInput placeholder="Search Content" aria-label="Search Content" [matAutocomplete]="auto" formControlName="contentSelectorInput"></mat-form-field><mat-autocomplete autoActiveFirstOption #auto="matAutocomplete" [displayWith]="displayContentText"><mat-option *ngIf="isContentLoading" class="is-loading"><mat-spinner diameter="50"></mat-spinner></mat-option><ng-container *ngIf="!isContentLoading"><mat-option *ngFor="let model of contentEntities" [value]="model"><mat-icon aria-hidden="true" *ngIf="_.get(model, 'contentType.iconResourcePath')" [svgIcon]="getSvg(Stratus.BaseUrl + _.get(model, 'contentType.iconResourcePath')) | async">Icon</mat-icon>{{(model && model.version) ? model.version.title : 'Untitled'}} <small *ngIf="model.routing && model.routing.length">{{'/' + model.routing[0].url}}</small></mat-option></ng-container></mat-autocomplete></form><mat-progress-bar mode="indeterminate" *ngIf="!isListView && !isStyled"></mat-progress-bar><mat-progress-bar mode="indeterminate" *ngIf="isListView && (isContentLoading || !isStyled)"></mat-progress-bar><div class="content-list" *ngIf="isListView && isStyled"><div class="content-list-row content-box" [ngClass]="{'active': _.get(model, 'status') === 1, 'inactive' : _.get(model, 'status') !== 1, 'published': _.get(model, 'version.published') === 1, 'unpublished': _.get(model, 'version.published') !== 1, 'selected': isSelected(model)}" (click)="select(model)" *ngFor="let model of contentEntities"><div class="content-list-container"><div class="column-image position-anchor"><div class="image position-all" *ngIf="_.has(model, 'version.bestImage._thumbnailUrl')" [attr.data-stratus-src]="!_.get(model, 'version.bestImage.service') ? true : false" [ngStyle]="{'background': 'url(' + _.get(model, 'version.bestImage._thumbnailUrl') + ') no-repeat center center', 'background-size': 'cover'}"></div><div class="no-image-icon position-all" *ngIf="!_.has(model, 'version.bestImage._thumbnailUrl')" [ngClass]="_.get(model, 'contentType.class') + '-background-color'"><mat-icon class="content-type-icon position-center" [svgIcon]="getSvg(Stratus.BaseUrl + (_.get(model, 'contentType.iconResourcePath') || _.get(model, 'iconResourcePath'))) | async">Icon</mat-icon></div><img class="shapeholder" [src]="Stratus.BaseUrl + 'sitetheorycore/images/shapeholder-square.png'"></div><div class="column-title"><div class="content-type" *ngIf="_.has(model, 'contentType.iconResourcePath')"><mat-icon class="content-type-icon" [svgIcon]="getSvg(Stratus.BaseUrl + _.get(model, 'contentType.iconResourcePath')) | async">ContentType Icon</mat-icon><span class="comment content-type-name font-body" [ngClass]="((_.get(model, 'contentType.name') || _.get(model, 'name')) | lowercase) + '-color'" [textContent]="(_.get(model, 'contentType.name') || _.get(model, 'name')) + ((_.get(model, 'status') !== 1) ? ' (hidden)' : '') + ((_.get(model, 'version.published') !== 1) ? ' (unpublished)' : '')"></span></div><h3 [innerHTML]="_.get(model, 'version.bestIdentifier') || _.get(model, 'name') || (_.get(model, 'contentType.controller') === 'Content\\Module' ? _.get(model, 'version.internalIdentifier') : 'Untitled ' + _.get(model, 'contentType.name') + ' (' + _.get(model, 'id') + ')')"></h3><span class="routing" [textContent]="(_.has(model, 'routing') ? '/' + _.get(model, 'routing[0].url') : null) || _.get(model, 'description') || ''"></span></div><div class="column-action"><a mat-button *ngIf="_.has(model, 'contentType.editUrl')" [matTooltip]="'Edit ' + (_.get(model, 'contentType.name') || _.get(model, 'name'))" aria-label="Edit Item in New Window" class="btn btn-edit" (click)="goToUrl(model, '_blank');"><mat-icon svgIcon="selector_edit" aria-hidden="false" aria-label="Edit Item">Edit</mat-icon></a></div></div></div></div></div>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
System.register(["@angular/core","@angular/forms","@angular/material/dialog","@angular/material/snack-bar","rxjs","rxjs/operators","lodash","@stratusjs/runtime/stratus","@stratusjs/core/environment","@stratusjs/angular/backend.service","@stratusjs/angularjs/services/model","@stratusjs/angular/core/responsive.component","@angular/material/icon","@angular/platform-browser"],function(t,e){"use strict";var n,i,s,o,r,a,l,c,u,
|
|
1
|
+
System.register(["@angular/core","@angular/forms","@angular/material/dialog","@angular/material/snack-bar","rxjs","rxjs/operators","lodash","@stratusjs/runtime/stratus","@stratusjs/core/environment","@stratusjs/angular/backend.service","@stratusjs/angularjs/services/model","@stratusjs/angular/core/responsive.component","@angular/material/icon","@angular/platform-browser"],function(t,e){"use strict";var n,i,s,o,r,a,l,c,d,u,h,g,f,p,m,y,v,b,k=this&&this.__decorate||function(t,e,n,i){var s,o=arguments.length,r=o<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,e,n,i);else for(var a=t.length-1;a>=0;a--)(s=t[a])&&(r=(o<3?s(r):o>3?s(e,n,r):s(e,n))||r);return o>3&&r&&Object.defineProperty(e,n,r),r},C=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},S=this&&this.__param||function(t,e){return function(n,i){e(n,i,t)}};e&&e.id;return{setters:[function(t){n=t},function(t){i=t},function(t){s=t},function(t){o=t},function(t){r=t},function(t){a=t},function(t){l=t},function(t){c=t},function(t){d=t},function(t){u=t},function(t){h=t},function(t){g=t},function(t){f=t},function(t){p=t}],execute:function(){"@stratusjs/angular",m="link-dialog","editor",y=d.cookie("env")?"":".min",v=`${c.Stratus.BaseUrl}${boot.configuration.paths["@stratusjs/angular/*"].replace(/[^/]*$/,"")}`,b=class extends g.ResponsiveComponent{constructor(t,e,n,i,s,o,r,a){super(),this.dialogRef=t,this.data=e,this.fb=n,this.backend=i,this.snackBar=s,this.iconRegistry=o,this.sanitizer=r,this.ref=a,this.title="link-dialog_component",this._=l.default,this.Stratus=c.Stratus,this.apiBase="/Api/Content",this.contentEntities=[],this.isContentLoading=!0,this.limit=20,this.eventInsert=!0,this.isListView=!1,this.selected=[],this.svgIcons={},this.isInitialized=!1,this.isDestroyed=!1,this.isStyled=!1}ngOnInit(){this.uid=l.default.uniqueId(`sa_${l.default.snakeCase(m)}_component_`),c.Stratus.Instances[this.uid]=this,c.Stratus.Internals.CssLoader(`${v}editor/link-dialog.component${y}.css`).then(()=>{this.isStyled=!0,this.refresh()}).catch(t=>{console.warn("Issue detected in CSS Loader for Component:",this),console.error(t),this.isStyled=!0,this.refresh()}),l.default.forEach({selector_delete:`${c.Stratus.BaseUrl}sitetheorycore/images/icons/actionButtons/delete.svg`,selector_edit:`${c.Stratus.BaseUrl}sitetheorycore/images/icons/actionButtons/edit.svg`},(t,e)=>this.iconRegistry.addSvgIcon(e,this.sanitizer.bypassSecurityTrustResourceUrl(t)).getNamedSvgIcon(e)),this.model=this.data.model,this.property=this.data.property,this.editor=this.data.editor,this.eventManager=this.data.eventManager,l.default.isBoolean(this.data.eventInsert)&&(this.eventInsert=this.data.eventInsert),this.dialogContentForm=this.fb.group({contentSelectorInput:""}),this.dialogContentForm.get("contentSelectorInput").valueChanges.pipe(a.debounceTime(300),a.tap(()=>this.isContentLoading=!0),a.switchMap(t=>l.default.isString(t)?this.getQuery(t):(this.select(t),this.getQuery()))).subscribe(t=>this.processContent(t)),this.backend.get(this.getQueryUrl()).pipe(a.finalize(()=>this.isContentLoading=!1)).subscribe(t=>this.processContent(t)),this.isInitialized=!0}ngOnDestroy(){this.isDestroyed=!0}refresh(){return this.isDestroyed?new Promise(t=>t()):super.refresh()}onCancelClick(){this.dialogRef.close(),this.refresh()}onPage(t){this.pageEvent=t,this.getQuery(this.lastContentQuery).subscribe(t=>this.processContent(t))}getQueryUrl(t){return t=!l.default.isString(t)||l.default.isEmpty(t)?"":`"${t}"`,`${this.apiBase}?limit=${this.limit}&options[isContent]=null&options[isCollection]=null&options[showRoutable]=true&options[showRouting]=true&q=${t}`}getQuery(t){return this.lastContentQuery=t,this.isContentLoading=!0,this.backend.get(this.getQueryUrl(t)).pipe(a.finalize(()=>this.isContentLoading=!1))}processContent(t){if(!t.ok||200!==t.status||l.default.isEmpty(t.body))return this.meta={},this.contentEntities=[],this.refresh(),this.contentEntities;this.meta=l.default.get(t.body,"meta")||{};const e=l.default.get(t.body,"payload")||t.body;return l.default.isEmpty(e)||!Array.isArray(e)?(this.contentEntities=[],this.isContentLoading=!1,this.refresh(),this.contentEntities):(this.contentEntities=e,this.isContentLoading=!1,this.refresh(),this.contentEntities)}select(t){if(l.default.isUndefined(t))return;const e=this.createLink(t);return e?(this.selected.push(t.id),this.eventInsert?void(this.eventManager?(this.eventManager.trigger("insert",e,this.editor),this.onCancelClick()):console.warn("link-dialog: event manager is not set.")):this.model instanceof h.Model&&l.default.isString(this.property)?(console.warn("link-dialog: disabling eventInsert is not recommended."),void this.model.set(this.property,this.model.get(this.property)+e)):void console.warn("link-dialog: event manager not available.")):(console.warn(`link-dialog: unable to build link for Content ID: ${t.id}`),void this.snackBar.open(`Unable to build link for Content ID: ${t.id}.`,"dismiss",{duration:5e3,horizontalPosition:"right",verticalPosition:"bottom"}))}isSelected(t){if(!l.default.isUndefined(t))return l.default.includes(this.selected,t.id)}createLink(t){return t?t.contentType&&t.contentType.name?t.routing&&t.routing.length&&t.routing[0]?t.routing[0].url?t.version?t.version.title&&t.version.title.length?`<a href="/${t.routing[0].url}" aria-label="${t.version.title}">${t.version.title}</a>`:(console.warn(`link-dialog: unable to find title for ${t.contentType.name} id: ${t.id}`),null):(console.warn(`link-dialog: unable to find content version for ${t.contentType.name} id: ${t.id}`),null):(console.warn(`link-dialog: unable to find url for ${t.contentType.name} id: ${t.id}`),null):(console.warn(`link-dialog: unable to find routing for ${t.contentType.name} id: ${t.id}`),null):(console.warn(`link-dialog: unable to find content type for content id: ${t.id}`),null):(console.warn("link-dialog: unable to create link for empty content"),null)}getSvg(t,e){const n=this.addSvgIcon(t,e);return new r.Observable(e=>{this.iconRegistry.getNamedSvgIcon(n).subscribe({error(e){console.error(`getSvg(${t}): ${e}`)},complete(){e.next(n)}})})}addSvgIcon(t,e){if(t in this.svgIcons)return this.svgIcons[t];e||(e={});const n=this.svgIcons[t]=l.default.uniqueId("selector_svg");return this.iconRegistry.addSvgIcon(n,this.sanitizer.bypassSecurityTrustResourceUrl(t),e),n}displayContentText(t){if(!t)return;const e=l.default.get(t,"routing[0].url"),n=l.default.isUndefined(e)?" (No route!)":` (/${e})`,i=l.default.get(t,"id"),s=l.default.isUndefined(i)?null:`Content: ${i}`;return(l.default.get(t,"version.title")||s)+n}goToUrl(t){t&&t.contentType?window.open(t.contentType.editUrl+"?id="+t.id,"_blank"):console.error("unable to execute goToUrl() because a valid model content was not provided.")}},b=k([n.Component({selector:"sa-link-dialog",templateUrl:`${v}/editor/link-dialog.component${y}.html`}),S(1,n.Inject(s.MAT_DIALOG_DATA)),C("design:paramtypes",[s.MatDialogRef,Object,i.FormBuilder,u.BackendService,o.MatSnackBar,f.MatIconRegistry,p.DomSanitizer,n.ChangeDetectorRef])],b),t("LinkDialogComponent",b)}}});
|