@stratusjs/angular 0.3.6 → 0.3.8
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/angular.modules.js.map +1 -1
- package/src/app.module.js +7 -2
- package/src/app.module.js.map +1 -1
- package/src/app.module.min.js +1 -1
- package/src/app.module.ts +6 -1
- package/src/backend.service.js.map +1 -1
- package/src/base/base.component.js.map +1 -1
- package/src/boot.js.map +1 -1
- package/src/boot.ts +1 -0
- package/src/changeset-viewer/changeset-viewer-dialog.component.js.map +1 -1
- package/src/changeset-viewer/changeset-viewer.component.js.map +1 -1
- package/src/confirm-dialog/confirm-dialog.component.js.map +1 -1
- package/src/editor/code-view-dialog.component.js.map +1 -1
- package/src/editor/editor.component.js +44 -4
- package/src/editor/editor.component.js.map +1 -1
- package/src/editor/editor.component.min.js +1 -1
- package/src/editor/editor.component.ts +53 -1
- package/src/editor/link-dialog.component.css +236 -0
- package/src/editor/link-dialog.component.css.map +1 -0
- package/src/editor/link-dialog.component.html +77 -0
- package/src/editor/link-dialog.component.js +294 -0
- package/src/editor/link-dialog.component.js.map +1 -0
- package/src/editor/link-dialog.component.min.css +1 -0
- package/src/editor/link-dialog.component.min.html +1 -0
- package/src/editor/link-dialog.component.min.js +1 -0
- package/src/editor/link-dialog.component.scss +279 -0
- package/src/editor/link-dialog.component.ts +392 -0
- package/src/editor/media-dialog.component.js +1 -1
- package/src/editor/media-dialog.component.js.map +1 -1
- package/src/editor/media-dialog.component.min.js +1 -1
- package/src/editor/media-dialog.component.ts +1 -1
- package/src/froala/plugins/inputButton.js +1 -1
- package/src/froala/plugins/inputButton.js.map +1 -1
- package/src/froala/plugins/inputButton.min.js +1 -1
- package/src/froala/plugins/inputButton.ts +1 -2
- package/src/froala/plugins/linkManager.js +88 -0
- package/src/froala/plugins/linkManager.js.map +1 -0
- package/src/froala/plugins/linkManager.min.js +1 -0
- package/src/froala/plugins/linkManager.ts +110 -0
- package/src/material.js.map +1 -1
- package/src/media-selector/media-selector.component.js.map +1 -1
- package/src/selector/selector.component.js.map +1 -1
- package/src/test/test.directive.js.map +1 -1
- package/src/tree/tree-dialog.component.js.map +1 -1
- package/src/tree/tree-dialog.component.ts +5 -0
- package/src/tree/tree-node.component.js.map +1 -1
- package/src/tree/tree.component.js.map +1 -1
|
@@ -0,0 +1,392 @@
|
|
|
1
|
+
// Angular Core
|
|
2
|
+
import {
|
|
3
|
+
// ChangeDetectionStrategy,
|
|
4
|
+
ChangeDetectorRef,
|
|
5
|
+
Component,
|
|
6
|
+
Inject,
|
|
7
|
+
OnInit
|
|
8
|
+
} from '@angular/core'
|
|
9
|
+
import {
|
|
10
|
+
FormBuilder,
|
|
11
|
+
FormGroup
|
|
12
|
+
} from '@angular/forms'
|
|
13
|
+
import {
|
|
14
|
+
HttpResponse
|
|
15
|
+
} from '@angular/common/http'
|
|
16
|
+
|
|
17
|
+
// Angular Material
|
|
18
|
+
import {
|
|
19
|
+
MAT_DIALOG_DATA,
|
|
20
|
+
MatDialogRef
|
|
21
|
+
} from '@angular/material/dialog'
|
|
22
|
+
import {
|
|
23
|
+
PageEvent
|
|
24
|
+
} from '@angular/material/paginator'
|
|
25
|
+
import {
|
|
26
|
+
MatSnackBar
|
|
27
|
+
} from '@angular/material/snack-bar'
|
|
28
|
+
|
|
29
|
+
// RXJS
|
|
30
|
+
import {
|
|
31
|
+
Observable, Subscriber
|
|
32
|
+
} from 'rxjs'
|
|
33
|
+
import {
|
|
34
|
+
debounceTime,
|
|
35
|
+
finalize,
|
|
36
|
+
switchMap,
|
|
37
|
+
tap
|
|
38
|
+
} from 'rxjs/operators'
|
|
39
|
+
|
|
40
|
+
// External
|
|
41
|
+
import _ from 'lodash'
|
|
42
|
+
import {
|
|
43
|
+
Stratus
|
|
44
|
+
} from '@stratusjs/runtime/stratus'
|
|
45
|
+
import {cookie} from '@stratusjs/core/environment'
|
|
46
|
+
|
|
47
|
+
// Services
|
|
48
|
+
import {
|
|
49
|
+
BackendService
|
|
50
|
+
} from '@stratusjs/angular/backend.service'
|
|
51
|
+
import {
|
|
52
|
+
LooseObject
|
|
53
|
+
} from '@stratusjs/core/misc'
|
|
54
|
+
import {Model} from '@stratusjs/angularjs/services/model'
|
|
55
|
+
import {TriggerInterface} from '@stratusjs/angular/core/trigger.interface'
|
|
56
|
+
|
|
57
|
+
// Extends
|
|
58
|
+
import {
|
|
59
|
+
ResponsiveComponent
|
|
60
|
+
} from '@stratusjs/angular/core/responsive.component'
|
|
61
|
+
import {ContentEntity} from '@stratusjs/angular/data/content.interface'
|
|
62
|
+
import {IconOptions, MatIconRegistry} from '@angular/material/icon'
|
|
63
|
+
import {DomSanitizer} from '@angular/platform-browser'
|
|
64
|
+
|
|
65
|
+
// Local Setup
|
|
66
|
+
const systemDir = '@stratusjs/angular'
|
|
67
|
+
const moduleName = 'link-dialog'
|
|
68
|
+
const parentModuleName = 'editor'
|
|
69
|
+
|
|
70
|
+
// Directory Template
|
|
71
|
+
const min = !cookie('env') ? '.min' : ''
|
|
72
|
+
const localDir = `${Stratus.BaseUrl}${boot.configuration.paths[`${systemDir}/*`].replace(/[^/]*$/, '')}`
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* @title Dialog for Nested Tree
|
|
76
|
+
*/
|
|
77
|
+
@Component({
|
|
78
|
+
selector: `sa-${moduleName}`,
|
|
79
|
+
templateUrl: `${localDir}/${parentModuleName}/${moduleName}.component${min}.html`,
|
|
80
|
+
// changeDetection: ChangeDetectionStrategy.OnPush
|
|
81
|
+
})
|
|
82
|
+
export class LinkDialogComponent extends ResponsiveComponent implements OnInit {
|
|
83
|
+
|
|
84
|
+
// Basic Component Settings
|
|
85
|
+
title = moduleName + '_component'
|
|
86
|
+
uid: string
|
|
87
|
+
|
|
88
|
+
// Dependencies
|
|
89
|
+
_ = _
|
|
90
|
+
Stratus = Stratus
|
|
91
|
+
|
|
92
|
+
// TODO: Move this to its own AutoComplete Component
|
|
93
|
+
// AutoComplete Data
|
|
94
|
+
apiBase = '/Api/Content'
|
|
95
|
+
contentEntities: any[] = []
|
|
96
|
+
dialogLinkForm: FormGroup
|
|
97
|
+
isContentLoading = true
|
|
98
|
+
lastContentQuery: string
|
|
99
|
+
|
|
100
|
+
// Pagination Data
|
|
101
|
+
meta: LooseObject
|
|
102
|
+
pageEvent: PageEvent
|
|
103
|
+
limit = 20
|
|
104
|
+
|
|
105
|
+
// Model Settings
|
|
106
|
+
model: Model
|
|
107
|
+
property: string
|
|
108
|
+
|
|
109
|
+
// Event Settings
|
|
110
|
+
editor: TriggerInterface
|
|
111
|
+
eventManager: TriggerInterface
|
|
112
|
+
eventInsert = true
|
|
113
|
+
|
|
114
|
+
// UI Settings
|
|
115
|
+
selected: Array<number> = []
|
|
116
|
+
|
|
117
|
+
// Icon Localization
|
|
118
|
+
svgIcons: {
|
|
119
|
+
[key: string]: string
|
|
120
|
+
} = {}
|
|
121
|
+
|
|
122
|
+
// UI Flags
|
|
123
|
+
styled = false
|
|
124
|
+
|
|
125
|
+
constructor(
|
|
126
|
+
public dialogRef: MatDialogRef<LinkDialogComponent>,
|
|
127
|
+
@Inject(MAT_DIALOG_DATA) public data: LinkDialogData,
|
|
128
|
+
private fb: FormBuilder,
|
|
129
|
+
private backend: BackendService,
|
|
130
|
+
private snackBar: MatSnackBar,
|
|
131
|
+
private iconRegistry: MatIconRegistry,
|
|
132
|
+
private sanitizer: DomSanitizer,
|
|
133
|
+
protected ref: ChangeDetectorRef
|
|
134
|
+
) {
|
|
135
|
+
// Chain constructor
|
|
136
|
+
super()
|
|
137
|
+
|
|
138
|
+
// Manually render upon data change
|
|
139
|
+
// ref.detach()
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
ngOnInit() {
|
|
143
|
+
// Initialization
|
|
144
|
+
this.uid = _.uniqueId(`sa_${_.snakeCase(moduleName)}_component_`)
|
|
145
|
+
Stratus.Instances[this.uid] = this
|
|
146
|
+
|
|
147
|
+
// TODO: Assess & Possibly Remove when the System.js ecosystem is complete
|
|
148
|
+
// Load Component CSS until System.js can import CSS properly.
|
|
149
|
+
Stratus.Internals.CssLoader(`${localDir}${parentModuleName}/${moduleName}.component${min}.css`)
|
|
150
|
+
.then(() => {
|
|
151
|
+
this.styled = true
|
|
152
|
+
this.refresh()
|
|
153
|
+
})
|
|
154
|
+
.catch((err: any) => {
|
|
155
|
+
console.warn('Issue detected in CSS Loader for Component:', this)
|
|
156
|
+
console.error(err)
|
|
157
|
+
this.styled = true
|
|
158
|
+
this.refresh()
|
|
159
|
+
})
|
|
160
|
+
|
|
161
|
+
// SVG Icons
|
|
162
|
+
_.forEach({
|
|
163
|
+
selector_delete: `${Stratus.BaseUrl}sitetheorycore/images/icons/actionButtons/delete.svg`,
|
|
164
|
+
selector_edit: `${Stratus.BaseUrl}sitetheorycore/images/icons/actionButtons/edit.svg`
|
|
165
|
+
}, (value, key) => this.iconRegistry.addSvgIcon(key, this.sanitizer.bypassSecurityTrustResourceUrl(value)).getNamedSvgIcon(key))
|
|
166
|
+
|
|
167
|
+
// Hoist Data
|
|
168
|
+
this.model = this.data.model
|
|
169
|
+
this.property = this.data.property
|
|
170
|
+
this.editor = this.data.editor
|
|
171
|
+
this.eventManager = this.data.eventManager
|
|
172
|
+
if (_.isBoolean(this.data.eventInsert)) {
|
|
173
|
+
this.eventInsert = this.data.eventInsert
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
// TODO: Move this to its own AutoComplete Component
|
|
177
|
+
// AutoComplete Logic
|
|
178
|
+
this.dialogLinkForm = this.fb.group({
|
|
179
|
+
linkQueryInput: ''
|
|
180
|
+
})
|
|
181
|
+
this.dialogLinkForm
|
|
182
|
+
.get('linkQueryInput')
|
|
183
|
+
.valueChanges
|
|
184
|
+
.pipe(
|
|
185
|
+
debounceTime(300),
|
|
186
|
+
tap(() => {
|
|
187
|
+
// this.isContentLoading = true
|
|
188
|
+
}),
|
|
189
|
+
switchMap((value: any) => {
|
|
190
|
+
return this.getQuery(value)
|
|
191
|
+
}
|
|
192
|
+
)
|
|
193
|
+
)
|
|
194
|
+
.subscribe((response: HttpResponse<any>) => this.processContent(response))
|
|
195
|
+
|
|
196
|
+
// Initialize Link Query with starter data
|
|
197
|
+
this.getQuery().subscribe(
|
|
198
|
+
(response: HttpResponse<any>) => this.processContent(response)
|
|
199
|
+
)
|
|
200
|
+
|
|
201
|
+
// FIXME: We have to go in this roundabout way to force changes to be detected since the
|
|
202
|
+
// Dialog Sub-Components don't seem to have the right timing for ngOnInit
|
|
203
|
+
this.refresh()
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
onCancelClick(): void {
|
|
207
|
+
this.dialogRef.close()
|
|
208
|
+
this.refresh()
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
onPage(event: PageEvent): void {
|
|
212
|
+
this.pageEvent = event
|
|
213
|
+
this.getQuery(this.lastContentQuery).subscribe(
|
|
214
|
+
(response: HttpResponse<any>) => this.processContent(response)
|
|
215
|
+
)
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
getQueryUrl(query?: string): string {
|
|
219
|
+
let limit = this.limit
|
|
220
|
+
let paging = 1
|
|
221
|
+
if (this.pageEvent) {
|
|
222
|
+
limit = this.pageEvent.pageSize
|
|
223
|
+
paging = this.pageEvent.pageIndex + 1
|
|
224
|
+
}
|
|
225
|
+
query = (_.isString(query) && !_.isEmpty(query)) ? `"${query}"` : ''
|
|
226
|
+
return `${this.apiBase}?limit=${limit}&p=${paging}&q=${query}`
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
getQuery(query?: string): Observable<HttpResponse<any>> {
|
|
230
|
+
this.lastContentQuery = query
|
|
231
|
+
this.isContentLoading = true
|
|
232
|
+
return this.backend.get(this.getQueryUrl(query))
|
|
233
|
+
.pipe(
|
|
234
|
+
finalize(() => this.isContentLoading = false),
|
|
235
|
+
)
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
processContent(response: HttpResponse<any>): any[] {
|
|
239
|
+
if (!response.ok || response.status !== 200 || _.isEmpty(response.body)) {
|
|
240
|
+
this.meta = {}
|
|
241
|
+
this.contentEntities = []
|
|
242
|
+
this.refresh()
|
|
243
|
+
return this.contentEntities
|
|
244
|
+
}
|
|
245
|
+
this.meta = _.get(response.body, 'meta') || {}
|
|
246
|
+
const payload = _.get(response.body, 'payload') || response.body
|
|
247
|
+
if (_.isEmpty(payload) || !Array.isArray(payload)) {
|
|
248
|
+
this.contentEntities = []
|
|
249
|
+
this.isContentLoading = false
|
|
250
|
+
this.refresh()
|
|
251
|
+
return this.contentEntities
|
|
252
|
+
}
|
|
253
|
+
this.contentEntities = payload
|
|
254
|
+
this.isContentLoading = false
|
|
255
|
+
this.refresh()
|
|
256
|
+
return this.contentEntities
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
select(content: ContentEntity) {
|
|
260
|
+
if (_.isUndefined(content)) {
|
|
261
|
+
return
|
|
262
|
+
}
|
|
263
|
+
const linkElement = this.createLink(content)
|
|
264
|
+
if (!linkElement) {
|
|
265
|
+
console.warn(`${moduleName}: unable to build link for Content ID: ${content.id}`)
|
|
266
|
+
this.snackBar.open(`Unable to build link for Content ID: ${content.id}.`, 'dismiss', {
|
|
267
|
+
duration: 5000,
|
|
268
|
+
horizontalPosition: 'right',
|
|
269
|
+
verticalPosition: 'bottom'
|
|
270
|
+
})
|
|
271
|
+
return
|
|
272
|
+
}
|
|
273
|
+
this.selected.push(content.id)
|
|
274
|
+
// Add element to the end of the model property
|
|
275
|
+
if (!this.eventInsert) {
|
|
276
|
+
if (!(this.model instanceof Model)) {
|
|
277
|
+
console.warn(`${moduleName}: event manager not available.`)
|
|
278
|
+
return
|
|
279
|
+
}
|
|
280
|
+
if (! _.isString(this.property)) {
|
|
281
|
+
console.warn(`${moduleName}: event manager not available.`)
|
|
282
|
+
return
|
|
283
|
+
}
|
|
284
|
+
console.warn(`${moduleName}: disabling eventInsert is not recommended.`)
|
|
285
|
+
this.model.set(
|
|
286
|
+
this.property,
|
|
287
|
+
this.model.get(this.property) + linkElement
|
|
288
|
+
)
|
|
289
|
+
return
|
|
290
|
+
}
|
|
291
|
+
if (!this.eventManager) {
|
|
292
|
+
console.warn(`${moduleName}: event manager is not set.`)
|
|
293
|
+
return
|
|
294
|
+
}
|
|
295
|
+
this.eventManager.trigger('insert', linkElement, this.editor)
|
|
296
|
+
// close dialog after inserting link
|
|
297
|
+
this.onCancelClick()
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
isSelected(content: ContentEntity) : boolean {
|
|
301
|
+
if (_.isUndefined(content)) {
|
|
302
|
+
return
|
|
303
|
+
}
|
|
304
|
+
return _.includes(this.selected, content.id)
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
createLink (content: ContentEntity): string|null {
|
|
308
|
+
if (!content) {
|
|
309
|
+
console.warn(`${moduleName}: unable to create link for empty content`)
|
|
310
|
+
return null
|
|
311
|
+
}
|
|
312
|
+
if (!content.contentType || !content.contentType.name) {
|
|
313
|
+
console.warn(`${moduleName}: unable to find content type for content id: ${content.id}`)
|
|
314
|
+
return null
|
|
315
|
+
}
|
|
316
|
+
if (!content.routing || !content.routing.length || !content.routing[0]) {
|
|
317
|
+
console.warn(`${moduleName}: unable to find routing for ${content.contentType.name} id: ${content.id}`)
|
|
318
|
+
return null
|
|
319
|
+
}
|
|
320
|
+
// TODO: Create a UI to choose the desired route for Content that has multiple routes or force the main as default
|
|
321
|
+
if (!content.routing[0].url) {
|
|
322
|
+
console.warn(`${moduleName}: unable to find url for ${content.contentType.name} id: ${content.id}`)
|
|
323
|
+
return null
|
|
324
|
+
}
|
|
325
|
+
if (!content.version) {
|
|
326
|
+
console.warn(`${moduleName}: unable to find content version for ${content.contentType.name} id: ${content.id}`)
|
|
327
|
+
return null
|
|
328
|
+
}
|
|
329
|
+
if (!content.version.title || !content.version.title.length) {
|
|
330
|
+
console.warn(`${moduleName}: unable to find title for ${content.contentType.name} id: ${content.id}`)
|
|
331
|
+
return null
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
return `<a href="/${content.routing[0].url}" aria-label="${content.version.title}">${content.version.title}</a>`
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
getSvg(url: string, options?: IconOptions): Observable<string> {
|
|
338
|
+
const uid = this.addSvgIcon(url, options)
|
|
339
|
+
return new Observable<string>((subscriber: Subscriber<string>) => {
|
|
340
|
+
this.iconRegistry
|
|
341
|
+
.getNamedSvgIcon(uid)
|
|
342
|
+
.subscribe({
|
|
343
|
+
/* *
|
|
344
|
+
next(svg: SVGElement) {
|
|
345
|
+
console.log(`getSvg(${url}):`, svg)
|
|
346
|
+
},
|
|
347
|
+
/* */
|
|
348
|
+
error(err) {
|
|
349
|
+
console.error(`getSvg(${url}): ${err}`)
|
|
350
|
+
},
|
|
351
|
+
complete() {
|
|
352
|
+
// console.log(`getSvg(${url}): completed`)
|
|
353
|
+
subscriber.next(uid)
|
|
354
|
+
}
|
|
355
|
+
})
|
|
356
|
+
})
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
/**
|
|
360
|
+
* This function marks a url safe with the DomSanitizer and returns a uid
|
|
361
|
+
* https://material.angular.io/components/icon/overview#svg-icons
|
|
362
|
+
*/
|
|
363
|
+
addSvgIcon(url: string, options?: IconOptions) : string {
|
|
364
|
+
if (url in this.svgIcons) {
|
|
365
|
+
return this.svgIcons[url]
|
|
366
|
+
}
|
|
367
|
+
if (!options) {
|
|
368
|
+
options = {}
|
|
369
|
+
}
|
|
370
|
+
const uid = this.svgIcons[url] = _.uniqueId('selector_svg')
|
|
371
|
+
this.iconRegistry.addSvgIcon(uid, this.sanitizer.bypassSecurityTrustResourceUrl(url), options)
|
|
372
|
+
return uid
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
goToUrl(content: ContentEntity) {
|
|
376
|
+
if (!content || !content.contentType) {
|
|
377
|
+
console.error('unable to execute goToUrl() because a valid model content was not provided.')
|
|
378
|
+
return
|
|
379
|
+
}
|
|
380
|
+
window.open(content.contentType.editUrl + '?id=' + content.id, '_blank')
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
// Data Types
|
|
385
|
+
export interface LinkDialogData {
|
|
386
|
+
editor: TriggerInterface
|
|
387
|
+
eventManager: TriggerInterface
|
|
388
|
+
eventInsert: boolean
|
|
389
|
+
form: FormGroup,
|
|
390
|
+
model: Model,
|
|
391
|
+
property: string
|
|
392
|
+
}
|
|
@@ -177,7 +177,7 @@ System.register(["@angular/core", "@angular/forms", "@angular/material/dialog",
|
|
|
177
177
|
console.warn('media-dialog: event manager is not set.');
|
|
178
178
|
return;
|
|
179
179
|
}
|
|
180
|
-
this.eventManager.trigger('
|
|
180
|
+
this.eventManager.trigger('insert', mediaElement, this.editor);
|
|
181
181
|
}
|
|
182
182
|
isSelected(media) {
|
|
183
183
|
if (lodash_1.default.isUndefined(media)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["media-dialog.component.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YA8DM,SAAS,GAAG,oBAAoB,CAAA;YAChC,UAAU,GAAG,cAAc,CAAA;YAC3B,gBAAgB,GAAG,QAAQ,CAAA;YAG3B,GAAG,GAAG,CAAC,oBAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;YAClC,QAAQ,GAAG,GAAG,iBAAO,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,SAAS,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAA;YAU3F,oBAAoB,
|
|
1
|
+
{"version":3,"sources":["media-dialog.component.ts"],"names":[],"mappings":"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","file":"media-dialog.component.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
System.register(["@angular/core","@angular/forms","@angular/material/dialog","@angular/material/snack-bar","rxjs/operators","lodash","@stratusjs/runtime/stratus","@stratusjs/core/environment","@stratusjs/angular/backend.service","@stratusjs/angularjs/services/model","@stratusjs/angular/core/responsive.component"],function(e,t){"use strict";var i,a,s,r,d,n,o,l,c,u,m,h,f,g,p,b=this&&this.__decorate||function(e,t,i,a){var s,r=arguments.length,d=r<3?t:null===a?a=Object.getOwnPropertyDescriptor(t,i):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)d=Reflect.decorate(e,t,i,a);else for(var n=e.length-1;n>=0;n--)(s=e[n])&&(d=(r<3?s(d):r>3?s(t,i,d):s(t,i))||d);return r>3&&d&&Object.defineProperty(t,i,d),d},v=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},y=this&&this.__param||function(e,t){return function(i,a){t(i,a,e)}};t&&t.id;return{setters:[function(e){i=e},function(e){a=e},function(e){s=e},function(e){r=e},function(e){d=e},function(e){n=e},function(e){o=e},function(e){l=e},function(e){c=e},function(e){u=e},function(e){m=e}],execute:function(){"@stratusjs/angular",h="media-dialog","editor",f=l.cookie("env")?"":".min",g=`${o.Stratus.BaseUrl}${boot.configuration.paths["@stratusjs/angular/*"].replace(/[^/]*$/,"")}`,p=class extends m.ResponsiveComponent{constructor(e,t,i,a,s,r){super(),this.dialogRef=e,this.data=t,this.fb=i,this.backend=a,this.snackBar=s,this.ref=r,this.title=h+"_component",this._=n.default,this.Stratus=o.Stratus,this.apiBase="/Api/Media",this.mediaEntities=[],this.isMediaLoading=!0,this.limit=20,this.eventInsert=!0,this.selected=[],this.embedly=!0}ngOnInit(){this.uid=n.default.uniqueId(`sa_${n.default.snakeCase(h)}_component_`),o.Stratus.Instances[this.uid]=this,o.Stratus.Internals.CssLoader(`${g}/editor/media-dialog.component${f}.css`),this.model=this.data.model,this.property=this.data.property,this.editor=this.data.editor,this.eventManager=this.data.eventManager,n.default.isBoolean(this.data.eventInsert)&&(this.eventInsert=this.data.eventInsert),this.dialogMediaForm=this.fb.group({mediaQueryInput:""}),this.dialogMediaForm.get("mediaQueryInput").valueChanges.pipe(d.debounceTime(300),d.tap(()=>{}),d.switchMap(e=>this.getQuery(e))).subscribe(e=>this.processMedia(e)),this.getQuery().subscribe(e=>this.processMedia(e)),this.refresh()}onCancelClick(){this.dialogRef.close(),this.refresh()}onPage(e){this.pageEvent=e,this.getQuery(this.lastMediaQuery).subscribe(e=>this.processMedia(e))}getQueryUrl(e){let t=this.limit,i=1;return this.pageEvent&&(t=this.pageEvent.pageSize,i=this.pageEvent.pageIndex+1),e=n.default.isString(e)&&!n.default.isEmpty(e)?`"${e}"`:"",`${this.apiBase}?limit=${t}&p=${i}&q=${e}`}getQuery(e){return this.lastMediaQuery=e,this.isMediaLoading=!0,this.backend.get(this.getQueryUrl(e)).pipe(d.finalize(()=>this.isMediaLoading=!1))}processMedia(e){if(!e.ok||200!==e.status||n.default.isEmpty(e.body))return this.meta={},this.mediaEntities=[],this.refresh(),this.mediaEntities;this.meta=n.default.get(e.body,"meta")||{};const t=n.default.get(e.body,"payload")||e.body;return n.default.isEmpty(t)||!Array.isArray(t)?(this.mediaEntities=[],this.isMediaLoading=!1,this.refresh(),this.mediaEntities):(this.mediaEntities=t,this.isMediaLoading=!1,this.refresh(),this.mediaEntities)}select(e){if(n.default.isUndefined(e))return;const t=this.createEmbed(e);return t?(this.selected.push(e.id),this.eventInsert?void(this.eventManager?this.eventManager.trigger("
|
|
1
|
+
System.register(["@angular/core","@angular/forms","@angular/material/dialog","@angular/material/snack-bar","rxjs/operators","lodash","@stratusjs/runtime/stratus","@stratusjs/core/environment","@stratusjs/angular/backend.service","@stratusjs/angularjs/services/model","@stratusjs/angular/core/responsive.component"],function(e,t){"use strict";var i,a,s,r,d,n,o,l,c,u,m,h,f,g,p,b=this&&this.__decorate||function(e,t,i,a){var s,r=arguments.length,d=r<3?t:null===a?a=Object.getOwnPropertyDescriptor(t,i):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)d=Reflect.decorate(e,t,i,a);else for(var n=e.length-1;n>=0;n--)(s=e[n])&&(d=(r<3?s(d):r>3?s(t,i,d):s(t,i))||d);return r>3&&d&&Object.defineProperty(t,i,d),d},v=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},y=this&&this.__param||function(e,t){return function(i,a){t(i,a,e)}};t&&t.id;return{setters:[function(e){i=e},function(e){a=e},function(e){s=e},function(e){r=e},function(e){d=e},function(e){n=e},function(e){o=e},function(e){l=e},function(e){c=e},function(e){u=e},function(e){m=e}],execute:function(){"@stratusjs/angular",h="media-dialog","editor",f=l.cookie("env")?"":".min",g=`${o.Stratus.BaseUrl}${boot.configuration.paths["@stratusjs/angular/*"].replace(/[^/]*$/,"")}`,p=class extends m.ResponsiveComponent{constructor(e,t,i,a,s,r){super(),this.dialogRef=e,this.data=t,this.fb=i,this.backend=a,this.snackBar=s,this.ref=r,this.title=h+"_component",this._=n.default,this.Stratus=o.Stratus,this.apiBase="/Api/Media",this.mediaEntities=[],this.isMediaLoading=!0,this.limit=20,this.eventInsert=!0,this.selected=[],this.embedly=!0}ngOnInit(){this.uid=n.default.uniqueId(`sa_${n.default.snakeCase(h)}_component_`),o.Stratus.Instances[this.uid]=this,o.Stratus.Internals.CssLoader(`${g}/editor/media-dialog.component${f}.css`),this.model=this.data.model,this.property=this.data.property,this.editor=this.data.editor,this.eventManager=this.data.eventManager,n.default.isBoolean(this.data.eventInsert)&&(this.eventInsert=this.data.eventInsert),this.dialogMediaForm=this.fb.group({mediaQueryInput:""}),this.dialogMediaForm.get("mediaQueryInput").valueChanges.pipe(d.debounceTime(300),d.tap(()=>{}),d.switchMap(e=>this.getQuery(e))).subscribe(e=>this.processMedia(e)),this.getQuery().subscribe(e=>this.processMedia(e)),this.refresh()}onCancelClick(){this.dialogRef.close(),this.refresh()}onPage(e){this.pageEvent=e,this.getQuery(this.lastMediaQuery).subscribe(e=>this.processMedia(e))}getQueryUrl(e){let t=this.limit,i=1;return this.pageEvent&&(t=this.pageEvent.pageSize,i=this.pageEvent.pageIndex+1),e=n.default.isString(e)&&!n.default.isEmpty(e)?`"${e}"`:"",`${this.apiBase}?limit=${t}&p=${i}&q=${e}`}getQuery(e){return this.lastMediaQuery=e,this.isMediaLoading=!0,this.backend.get(this.getQueryUrl(e)).pipe(d.finalize(()=>this.isMediaLoading=!1))}processMedia(e){if(!e.ok||200!==e.status||n.default.isEmpty(e.body))return this.meta={},this.mediaEntities=[],this.refresh(),this.mediaEntities;this.meta=n.default.get(e.body,"meta")||{};const t=n.default.get(e.body,"payload")||e.body;return n.default.isEmpty(t)||!Array.isArray(t)?(this.mediaEntities=[],this.isMediaLoading=!1,this.refresh(),this.mediaEntities):(this.mediaEntities=t,this.isMediaLoading=!1,this.refresh(),this.mediaEntities)}select(e){if(n.default.isUndefined(e))return;const t=this.createEmbed(e);return t?(this.selected.push(e.id),this.eventInsert?void(this.eventManager?this.eventManager.trigger("insert",t,this.editor):console.warn("media-dialog: event manager is not set.")):this.model instanceof u.Model&&n.default.isString(this.property)?(console.warn("media-dialog: disabling eventInsert is not recommended."),void this.model.set(this.property,this.model.get(this.property)+t)):void console.warn("media-dialog: event manager not available.")):(console.warn(`media-dialog: unable to build embed for Media ID: ${e.id}`),void this.snackBar.open(`Unable to build embed for Media ID: ${e.id}.`,"dismiss",{duration:5e3,horizontalPosition:"right",verticalPosition:"bottom"}))}isSelected(e){if(!n.default.isUndefined(e))return n.default.includes(this.selected,e.id)}createEmbed(e){if(e._embedCode)return e._embedCode;if(n.default.startsWith(e.mime,"image"))return!e._thumbnailUrl||"directLink"===e.service&&!e.file?(console.warn(`media-dialog: unable to determine image source for media id: ${e.id}`),null):`<img src="${e._thumbnailUrl||e.file}" alt="${e.name||e.filename}" ${"image/gif"!==e.mime?"data-stratus-src":""}">`;if("video"===e.mime){if(e.embed)return e.embed;const t='width="100%" scrolling="no" frameborder="0" allowTransparency="true" allowFullScreen="true" webkitAllowFullScreen="" mozAllowFullScreen=""';if("facebook"===e.service){const i=e.url||e.file;return i?this.embedly?`<div class="fr-embedly"\n data-original-embed="<a href='${i}' data-card-branding='0' class='embedly-card'></a>"\n style="height: 998px;">\n <a href="${i}" data-card-branding="0" class="embedly-card"></a>\n </div>`:`<iframe src="https://www.facebook.com/plugins/video.php?href=${i}" ${t}></iframe>`:(console.warn(`media-dialog: unable to find url for video with media id: ${e.id}`),null)}return e.serviceMediaId?"vimeo"===e.service?this.embedly?`<div class="fr-embedly"\n data-original-embed="<a href='https://vimeo.com/${e.serviceMediaId}' data-card-branding='0' class='embedly-card'></a>"\n style="height: 370px;">\n <a href="https://vimeo.com/${e.serviceMediaId}" data-card-branding="0" class="embedly-card"></a>\n </div>`:`<iframe src="https://player.vimeo.com/video/${e.serviceMediaId}" ${t}></iframe>`:"youtube"===e.service?this.embedly?`<div class="fr-embedly"\n data-original-embed="<a href='https://www.youtube.com/watch?v=${e.serviceMediaId}' data-card-branding='0' class='embedly-card'></a>"\n style="height: 370px;">\n <a href="https://www.youtube.com/watch?v=${e.serviceMediaId}" data-card-branding="0" class="embedly-card"></a>\n </div>`:`<iframe src="https://www.youtube.com/embed/${e.serviceMediaId}" ${t}></iframe>`:(console.warn(`media-dialog: unsupported service: ${e.service} for media id: ${e.id}`),null):(console.warn(`media-dialog: unable to find serviceMediaId for video with media id: ${e.id}`),null)}return n.default.startsWith(e.mime,"audio")?e.url?`<audio controls>\n <source src="https://${e.url}" type="${e.mime}">\n <p>\n Your browser doesn't support HTML5 audio, but you can <a href="https://${e.url}">download the audio here</a>.\n </p>\n </audio>`:(console.warn(`media-dialog: unable to determine audio source for media id: ${e.id}`),null):"application/pdf"===e.mime?e.url?this.embedly?`<div class="fr-embedly"\n data-original-embed="<a href='https://${e.url}' data-card-branding='0' class='embedly-card'></a>"\n style="height: 71px;">\n <a href="https://${e.url}" data-card-branding="0" class="embedly-card"></a>\n </div>`:`<iframe src="https://docs.google.com/viewer?url=${e.url}&embedded=true" style="min-height: 500px;" width="100%"></iframe>`:(console.warn(`media-dialog: unable to determine PDF source for media id: ${e.id}`),null):"application/msword"===e.mime?e.url?this.embedly?`<div class="fr-embedly"\n data-original-embed="<a href='https://${e.url}' data-card-branding='0' class='embedly-card'></a>"\n style="height: 71px;">\n <a href="https://${e.url}" data-card-branding="0" class="embedly-card"></a>\n </div>`:`<iframe src="https://docs.google.com/viewer?url=${e.url}&embedded=true" style="min-height: 500px;" width="100%"></iframe>`:(console.warn(`media-dialog: unable to determine Word Document source for media id: ${e.id}`),null):(console.warn(`media-dialog: unsupported mime type: ${e.mime} for media id: ${e.id}`),null)}},p=b([i.Component({selector:"sa-media-dialog",templateUrl:`${g}/editor/media-dialog.component${f}.html`}),y(1,i.Inject(s.MAT_DIALOG_DATA)),v("design:paramtypes",[s.MatDialogRef,Object,a.FormBuilder,c.BackendService,r.MatSnackBar,i.ChangeDetectorRef])],p),e("MediaDialogComponent",p)}}});
|
|
@@ -266,7 +266,7 @@ export class MediaDialogComponent extends ResponsiveComponent implements OnInit
|
|
|
266
266
|
console.warn('media-dialog: event manager is not set.')
|
|
267
267
|
return
|
|
268
268
|
}
|
|
269
|
-
this.eventManager.trigger('
|
|
269
|
+
this.eventManager.trigger('insert', mediaElement, this.editor)
|
|
270
270
|
}
|
|
271
271
|
|
|
272
272
|
isSelected(media: Media) : boolean {
|
|
@@ -60,7 +60,7 @@ System.register(["@stratusjs/runtime/stratus", "lodash"], function (exports_1, c
|
|
|
60
60
|
console.warn(`${this.name}.trigger(): unable to inject html without a set editor.`);
|
|
61
61
|
return;
|
|
62
62
|
}
|
|
63
|
-
if (name !== '
|
|
63
|
+
if (name !== 'insert') {
|
|
64
64
|
console.warn(`${this.name}.trigger():`, name, 'event is not supported.');
|
|
65
65
|
return;
|
|
66
66
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["inputButton.ts"],"names":[],"mappings":";;;;;;;;;;;;;;YAaA,oBAAA,MAAa,iBAAiB;gBAY1B,YAAY,OAAY;oBANxB,UAAK,GAAG,KAAK,CAAA;oBACb,SAAI,GAAG,aAAa,CAAA;oBACpB,cAAS,GAAG,cAAc,CAAA;oBAMtB,IAAI,CAAC,GAAG,GAAG,gBAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAA;oBACtC,iBAAO,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA;oBAElC,IAAI,CAAC,KAAK,GAAG,OAAO,IAAI,OAAO,CAAC,KAAK,CAAA;oBAGrC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;wBACzC,OAAO,GAAG,EAAE,CAAA;qBACf;oBACD,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAA;oBACrC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAA;oBACpD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAA;gBACxC,CAAC;gBAED,OAAO,CAAC,EAAe;oBACnB,IAAI,KAAK,IAAI,EAAE,CAAC,OAAO,EAAE;wBACrB,OAAO,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA;qBACxB;oBACD,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,aAAa,CAAC,CAAA;gBACzC,CAAC;gBAED,WAAW,CAAC,GAAY;oBACpB,IAAI,CAAC,CAAC,GAAG,IAAI,iBAAO,CAAC,SAAS,CAAC,EAAE;wBAC7B,OAAO,SAAS,CAAA;qBACnB;oBACD,OAAO,iBAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;gBACjC,CAAC;gBAED,OAAO,CAAC,EAAe;oBACnB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;oBAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;oBACtC,IAAI,CAAC,QAAQ,EAAE;wBACX,OAAM;qBACT;oBAGD,IAAI,CAAC,cAAc,EAAE,CAAA;oBACrB,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;gBAChD,CAAC;gBAED,OAAO,CAAC,IAAY,EAAE,IAAS,EAAE,MAAwB;oBAErD,IAAI,IAAI,CAAC,KAAK,EAAE;wBACZ,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;qBAC7D;oBAED,IAAI,CAAC,gBAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;wBACnB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,aAAa,EAAE,IAAI,EAAE,uBAAuB,CAAC,CAAA;wBACtE,OAAM;qBACT;oBACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;wBACd,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,yDAAyD,CAAC,CAAA;wBACnF,OAAM;qBACT;
|
|
1
|
+
{"version":3,"sources":["inputButton.ts"],"names":[],"mappings":"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","file":"inputButton.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
System.register(["@stratusjs/runtime/stratus","lodash"],function(t,e){"use strict";var s,n;e&&e.id;return{setters:[function(t){s=t},function(t){n=t}],execute:function(){t("InputButtonPlugin",class{constructor(t){this.debug=!1,this.name="inputButton",this.eventName="input-button",this.uid=n.default.uniqueId("input_button_"),s.Stratus.Instances[this.uid]=this,this.debug=t&&t.debug,t&&"object"==typeof t||(t={}),this.name=t.name||this.name,this.eventName=t.eventName||this.eventName,this.editor=t.editor||null}findUID(t){return"uid"in t.dataset?t.dataset.uid:this.findUID(t.parentElement)}getInstance(t){if(t in s.Stratus.Instances)return s.Stratus.Instances[t]}onClick(t){const e=this.findUID(t),s=this.getInstance(e);s&&(this.updateSnapshot(),s.trigger(this.eventName,null,this))}trigger(t,e,s){this.debug&&console.log(`${this.name}.trigger():`,t,e,s),n.default.isString(e)?this.editor?"
|
|
1
|
+
System.register(["@stratusjs/runtime/stratus","lodash"],function(t,e){"use strict";var s,n;e&&e.id;return{setters:[function(t){s=t},function(t){n=t}],execute:function(){t("InputButtonPlugin",class{constructor(t){this.debug=!1,this.name="inputButton",this.eventName="input-button",this.uid=n.default.uniqueId("input_button_"),s.Stratus.Instances[this.uid]=this,this.debug=t&&t.debug,t&&"object"==typeof t||(t={}),this.name=t.name||this.name,this.eventName=t.eventName||this.eventName,this.editor=t.editor||null}findUID(t){return"uid"in t.dataset?t.dataset.uid:this.findUID(t.parentElement)}getInstance(t){if(t in s.Stratus.Instances)return s.Stratus.Instances[t]}onClick(t){const e=this.findUID(t),s=this.getInstance(e);s&&(this.updateSnapshot(),s.trigger(this.eventName,null,this))}trigger(t,e,s){this.debug&&console.log(`${this.name}.trigger():`,t,e,s),n.default.isString(e)?this.editor?"insert"===t?this.restoreSnapshot()&&(this.editor.html.insert(e),this.updateSnapshot()):console.warn(`${this.name}.trigger():`,t,"event is not supported."):console.warn(`${this.name}.trigger(): unable to inject html without a set editor.`):console.warn(`${this.name}.trigger():`,e,"is not a data string.")}restoreSnapshot(){return this.snapshot?(this.editor.events.focus(),this.editor.snapshot.restore(this.snapshot),!0):(console.warn(`${this.name}.restoreSnapshot(): unable to restore editor session without a snapshot.`),!1)}updateSnapshot(){this.snapshot=this.editor.snapshot.get()}})}}});
|
|
@@ -79,8 +79,7 @@ export class InputButtonPlugin implements TriggerInterface {
|
|
|
79
79
|
console.warn(`${this.name}.trigger(): unable to inject html without a set editor.`)
|
|
80
80
|
return
|
|
81
81
|
}
|
|
82
|
-
|
|
83
|
-
if (name !== 'media-insert') {
|
|
82
|
+
if (name !== 'insert') {
|
|
84
83
|
console.warn(`${this.name}.trigger():`, name, 'event is not supported.')
|
|
85
84
|
return
|
|
86
85
|
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
System.register(["@stratusjs/angular/froala/plugins/inputButton", "froala-editor"], function (exports_1, context_1) {
|
|
2
|
+
"use strict";
|
|
3
|
+
var inputButton_1, froala_editor_1;
|
|
4
|
+
var __moduleName = context_1 && context_1.id;
|
|
5
|
+
return {
|
|
6
|
+
setters: [
|
|
7
|
+
function (inputButton_1_1) {
|
|
8
|
+
inputButton_1 = inputButton_1_1;
|
|
9
|
+
},
|
|
10
|
+
function (froala_editor_1_1) {
|
|
11
|
+
froala_editor_1 = froala_editor_1_1;
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
execute: function () {
|
|
15
|
+
froala_editor_1.default.DEFAULTS = Object.assign(froala_editor_1.default.DEFAULTS, {
|
|
16
|
+
endpoint: '/Api/Content'
|
|
17
|
+
});
|
|
18
|
+
froala_editor_1.default.PLUGINS.linkManager = function linkManager(editor) {
|
|
19
|
+
let inputButton;
|
|
20
|
+
const debug = false;
|
|
21
|
+
function _init() {
|
|
22
|
+
inputButton = new inputButton_1.InputButtonPlugin({
|
|
23
|
+
name: 'Link Manager',
|
|
24
|
+
eventName: 'link-library',
|
|
25
|
+
editor,
|
|
26
|
+
debug
|
|
27
|
+
});
|
|
28
|
+
if (debug) {
|
|
29
|
+
console.log('initialized:', {
|
|
30
|
+
options: editor.opts.endpoint,
|
|
31
|
+
instance: this
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
function onClick() {
|
|
36
|
+
if (!editor.el) {
|
|
37
|
+
console.warn('linkManager.onClick(): unable to find element');
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
inputButton.onClick(editor.el);
|
|
41
|
+
}
|
|
42
|
+
return {
|
|
43
|
+
_init,
|
|
44
|
+
onClick
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
froala_editor_1.default.DEFAULTS.imageInsertButtons.push('linkManager'),
|
|
48
|
+
froala_editor_1.default.RegisterCommand('linkManager', {
|
|
49
|
+
title: 'Insert from Link Library',
|
|
50
|
+
undo: false,
|
|
51
|
+
focus: false,
|
|
52
|
+
modal: true,
|
|
53
|
+
callback() {
|
|
54
|
+
const debug = false;
|
|
55
|
+
if (debug) {
|
|
56
|
+
console.log('clicked:', this.linkManager);
|
|
57
|
+
}
|
|
58
|
+
this.linkManager.onClick();
|
|
59
|
+
},
|
|
60
|
+
plugin: 'linkManager',
|
|
61
|
+
}),
|
|
62
|
+
froala_editor_1.default.DefineIcon('linkManager', { NAME: 'folder', SVG_KEY: 'insertLink' }),
|
|
63
|
+
froala_editor_1.default.DefineIcon('linkManagerInsert', { NAME: 'plus', SVG_KEY: 'add' }),
|
|
64
|
+
froala_editor_1.default.DefineIcon('linkManagerDelete', { NAME: 'trash', SVG_KEY: 'remove' });
|
|
65
|
+
froala_editor_1.default.RegisterQuickInsertButton('link', {
|
|
66
|
+
icon: 'linkManager',
|
|
67
|
+
title: 'Insert from Link Library',
|
|
68
|
+
callback: function linkManagerCallback() {
|
|
69
|
+
const debug = false;
|
|
70
|
+
const inputButton = new inputButton_1.InputButtonPlugin({
|
|
71
|
+
name: 'Link Manager',
|
|
72
|
+
eventName: 'link-library',
|
|
73
|
+
editor: this,
|
|
74
|
+
debug
|
|
75
|
+
});
|
|
76
|
+
if (!this.el) {
|
|
77
|
+
console.warn('linkManager.onClick(): unable to find element');
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
inputButton.onClick(this.el);
|
|
81
|
+
},
|
|
82
|
+
undo: true
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
});
|
|
87
|
+
|
|
88
|
+
//# sourceMappingURL=linkManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["linkManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;YASA,uBAAY,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,uBAAY,CAAC,QAAQ,EAAE;gBACzD,QAAQ,EAAE,cAAc;aAC3B,CAAC,CAAA;YAKF,uBAAY,CAAC,OAAO,CAAC,WAAW,GAAG,SAAS,WAAW,CAAE,MAAW;gBAChE,IAAI,WAA8B,CAAA;gBAElC,MAAM,KAAK,GAAG,KAAK,CAAA;gBAGnB,SAAS,KAAK;oBACV,WAAW,GAAG,IAAI,+BAAiB,CAAC;wBAChC,IAAI,EAAE,cAAc;wBACpB,SAAS,EAAE,cAAc;wBACzB,MAAM;wBACN,KAAK;qBACR,CAAC,CAAA;oBAEF,IAAI,KAAK,EAAE;wBACP,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE;4BACxB,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ;4BAC7B,QAAQ,EAAE,IAAI;yBACjB,CAAC,CAAA;qBACL;gBAOL,CAAC;gBAED,SAAS,OAAO;oBACZ,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;wBACZ,OAAO,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAA;wBAC7D,OAAM;qBACT;oBACD,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBAClC,CAAC;gBAKD,OAAO;oBAEH,KAAK;oBACL,OAAO;iBACV,CAAA;YACL,CAAC,CAAA;YAGD,uBAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC;gBACxD,uBAAY,CAAC,eAAe,CAAC,aAAa,EAAE;oBACxC,KAAK,EAAE,0BAA0B;oBACjC,IAAI,EAAE,KAAK;oBACX,KAAK,EAAE,KAAK;oBACZ,KAAK,EAAE,IAAI;oBACX,QAAQ;wBACJ,MAAM,KAAK,GAAG,KAAK,CAAA;wBACnB,IAAI,KAAK,EAAE;4BACP,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;yBAC5C;wBACD,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAA;oBAC9B,CAAC;oBACD,MAAM,EAAE,aAAa;iBACxB,CAAC;gBACF,uBAAY,CAAC,UAAU,CAAC,aAAa,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAC,CAAC;gBAC/E,uBAAY,CAAC,UAAU,CAAC,mBAAmB,EAAE,EAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAC,CAAC;gBAC5E,uBAAY,CAAC,UAAU,CAAC,mBAAmB,EAAE,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAC,CAAC,CAAA;YAGpF,uBAAY,CAAC,yBAAyB,CAAC,MAAM,EAAE;gBAE3C,IAAI,EAAE,aAAa;gBAGnB,KAAK,EAAE,0BAA0B;gBAGjC,QAAQ,EAAE,SAAS,mBAAmB;oBAClC,MAAM,KAAK,GAAG,KAAK,CAAA;oBACnB,MAAM,WAAW,GAAG,IAAI,+BAAiB,CAAC;wBACtC,IAAI,EAAE,cAAc;wBACpB,SAAS,EAAE,cAAc;wBAEzB,MAAM,EAAE,IAAI;wBACZ,KAAK;qBACR,CAAC,CAAA;oBACF,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;wBACV,OAAO,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAA;wBAC7D,OAAM;qBACT;oBACD,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBAChC,CAAC;gBAGD,IAAI,EAAE,IAAI;aACb,CAAC,CAAA;QACF,CAAC","file":"linkManager.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
System.register(["@stratusjs/angular/froala/plugins/inputButton","froala-editor"],function(n,e){"use strict";var t,i;e&&e.id;return{setters:[function(n){t=n},function(n){i=n}],execute:function(){i.default.DEFAULTS=Object.assign(i.default.DEFAULTS,{endpoint:"/Api/Content"}),i.default.PLUGINS.linkManager=function(n){let e;return{_init:function(){e=new t.InputButtonPlugin({name:"Link Manager",eventName:"link-library",editor:n,debug:false})},onClick:function(){n.el?e.onClick(n.el):console.warn("linkManager.onClick(): unable to find element")}}},i.default.DEFAULTS.imageInsertButtons.push("linkManager"),i.default.RegisterCommand("linkManager",{title:"Insert from Link Library",undo:!1,focus:!1,modal:!0,callback(){this.linkManager.onClick()},plugin:"linkManager"}),i.default.DefineIcon("linkManager",{NAME:"folder",SVG_KEY:"insertLink"}),i.default.DefineIcon("linkManagerInsert",{NAME:"plus",SVG_KEY:"add"}),i.default.DefineIcon("linkManagerDelete",{NAME:"trash",SVG_KEY:"remove"}),i.default.RegisterQuickInsertButton("link",{icon:"linkManager",title:"Insert from Link Library",callback:function(){const n=new t.InputButtonPlugin({name:"Link Manager",eventName:"link-library",editor:this,debug:!1});this.el?n.onClick(this.el):console.warn("linkManager.onClick(): unable to find element")},undo:!0})}}});
|