@oncehub/knowledgeowl-angular 4.1.11 → 4.1.13-beta
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/README.md +16 -10
- package/{esm2020 → esm2022}/lib/knowledge-owl-link/knowledge-owl-link-module.mjs +5 -5
- package/esm2022/lib/knowledge-owl-link/knowledge-owl-link.mjs +92 -0
- package/{esm2020 → esm2022}/lib/knowledge-owl-widget/knowledge-owl-widget-module.mjs +5 -5
- package/esm2022/lib/knowledge-owl-widget/knowledge-owl-widget.mjs +143 -0
- package/{fesm2020 → fesm2022}/oncehub-knowledgeowl-angular.mjs +23 -23
- package/{fesm2015 → fesm2022}/oncehub-knowledgeowl-angular.mjs.map +1 -1
- package/lib/knowledge-owl-link/knowledge-owl-link.d.ts +1 -1
- package/lib/knowledge-owl-widget/knowledge-owl-widget.d.ts +1 -1
- package/package.json +10 -16
- package/esm2020/lib/knowledge-owl-link/knowledge-owl-link.mjs +0 -92
- package/esm2020/lib/knowledge-owl-widget/knowledge-owl-widget.mjs +0 -143
- package/fesm2015/oncehub-knowledgeowl-angular.mjs +0 -279
- package/fesm2020/oncehub-knowledgeowl-angular.mjs.map +0 -1
- /package/{esm2020 → esm2022}/lib/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/knowledge-owl-link/knowledge-owl-widget-errors.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/knowledge-owl-link/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/knowledge-owl-widget/knowledge-owl-widget-errors.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/knowledge-owl-widget/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/oncehub-knowledgeowl-angular.mjs +0 -0
- /package/{esm2020 → esm2022}/public_api.mjs +0 -0
package/README.md
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
# knowledgeowl-angular
|
|
2
2
|
|
|
3
|
-
[](https://github.com/scheduleonce/
|
|
3
|
+
[](https://github.com/scheduleonce/relative-luminance/actions) [](https://github.com/prettier/prettier)
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
> KnowledgeOwl knowledgebase for Angular
|
|
6
|
+
|
|
7
|
+
Project that enables Angular applications to integrate [KnowledgeOwl](https://www.knowledgeowl.com) widget. This gives following features:
|
|
6
8
|
|
|
7
9
|
1. Integrate KnowledgeOwl angular widget into application.
|
|
8
10
|
2. Link HTML element to KnowledgeOwl article.
|
|
@@ -33,7 +35,7 @@ export class AppModule { }
|
|
|
33
35
|
|
|
34
36
|
Add widget in app.component.html
|
|
35
37
|
|
|
36
|
-
```
|
|
38
|
+
```tsx
|
|
37
39
|
<knowledge-owl-widget
|
|
38
40
|
[projectKey]="'projectKeyProvidedByKnowledgeOwl'"
|
|
39
41
|
></knowledge-owl-widget>
|
|
@@ -41,7 +43,7 @@ Add widget in app.component.html
|
|
|
41
43
|
|
|
42
44
|
## How to link article to `<a>` or `button`?
|
|
43
45
|
|
|
44
|
-
```
|
|
46
|
+
```tsx
|
|
45
47
|
<a knowledgeOwlLink="test-article"></a>
|
|
46
48
|
```
|
|
47
49
|
|
|
@@ -64,7 +66,7 @@ Exported as: `knowledgeOwlWidget`
|
|
|
64
66
|
|
|
65
67
|
The widget exposes an API to open/close programmatically.
|
|
66
68
|
|
|
67
|
-
```
|
|
69
|
+
```ts
|
|
68
70
|
class MyComponent {
|
|
69
71
|
@ViewChild(KnowledgeOwlWidget) widget: KnowledgeOwlWidget;
|
|
70
72
|
|
|
@@ -78,7 +80,7 @@ class MyComponent {
|
|
|
78
80
|
|
|
79
81
|
The widget exposes an API to open/close widget with article programmatically.
|
|
80
82
|
|
|
81
|
-
```
|
|
83
|
+
```ts
|
|
82
84
|
class MyComponent {
|
|
83
85
|
@ViewChild(KnowledgeOwlWidget) widget: KnowledgeOwlWidget;
|
|
84
86
|
|
|
@@ -102,10 +104,14 @@ Exported as: `knowledgeOwlLink`
|
|
|
102
104
|
| ---------------------------------------- | -------- | ------------------------- |
|
|
103
105
|
| @Input() <br/>`knowledgeOwlLink: string` | true | KnowledgeOwl Article Name |
|
|
104
106
|
|
|
105
|
-
|
|
107
|
+
## Development
|
|
108
|
+
|
|
109
|
+
### How to publish a new version
|
|
106
110
|
|
|
107
|
-
|
|
111
|
+
Create a new version
|
|
108
112
|
|
|
109
|
-
|
|
113
|
+
```sh
|
|
114
|
+
npm version [<new_version> | major | minor | patch]
|
|
115
|
+
```
|
|
110
116
|
|
|
111
|
-
|
|
117
|
+
New version is automatically published to npm when [creating a new release](.github/workflows/npm-publish.yml) on Github. Check out the release section in the repo. Read more about releases [here](https://docs.github.com/en/repositories/releasing-projects-on-github/managing-releases-in-a-repository).
|
|
@@ -3,11 +3,11 @@ import { NgModule } from '@angular/core';
|
|
|
3
3
|
import { KnowledgeOwlLink } from './knowledge-owl-link';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export class KnowledgeOwlLinkModule {
|
|
6
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: KnowledgeOwlLinkModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: KnowledgeOwlLinkModule, declarations: [KnowledgeOwlLink], imports: [CommonModule], exports: [KnowledgeOwlLink] }); }
|
|
8
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: KnowledgeOwlLinkModule, imports: [CommonModule] }); }
|
|
6
9
|
}
|
|
7
|
-
|
|
8
|
-
KnowledgeOwlLinkModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: KnowledgeOwlLinkModule, declarations: [KnowledgeOwlLink], imports: [CommonModule], exports: [KnowledgeOwlLink] });
|
|
9
|
-
KnowledgeOwlLinkModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: KnowledgeOwlLinkModule, imports: [CommonModule] });
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: KnowledgeOwlLinkModule, decorators: [{
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: KnowledgeOwlLinkModule, decorators: [{
|
|
11
11
|
type: NgModule,
|
|
12
12
|
args: [{
|
|
13
13
|
imports: [CommonModule],
|
|
@@ -15,4 +15,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
15
15
|
declarations: [KnowledgeOwlLink],
|
|
16
16
|
}]
|
|
17
17
|
}] });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia25vd2xlZGdlLW93bC1saW5rLW1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIva25vd2xlZGdlLW93bC1saW5rL2tub3dsZWRnZS1vd2wtbGluay1tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBT3hELE1BQU0sT0FBTyxzQkFBc0I7OEdBQXRCLHNCQUFzQjsrR0FBdEIsc0JBQXNCLGlCQUZsQixnQkFBZ0IsYUFGckIsWUFBWSxhQUNaLGdCQUFnQjsrR0FHZixzQkFBc0IsWUFKdkIsWUFBWTs7MkZBSVgsc0JBQXNCO2tCQUxsQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQzNCLFlBQVksRUFBRSxDQUFDLGdCQUFnQixDQUFDO2lCQUNqQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgS25vd2xlZGdlT3dsTGluayB9IGZyb20gJy4va25vd2xlZGdlLW93bC1saW5rJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGV4cG9ydHM6IFtLbm93bGVkZ2VPd2xMaW5rXSxcbiAgZGVjbGFyYXRpb25zOiBbS25vd2xlZGdlT3dsTGlua10sXG59KVxuZXhwb3J0IGNsYXNzIEtub3dsZWRnZU93bExpbmtNb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { ElementRef, HostListener, Inject, Input, Directive, } from '@angular/core';
|
|
2
|
+
import { getKnowledgeLinkArticleMissingError } from './knowledge-owl-widget-errors';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* Knowledge Owl Link
|
|
6
|
+
*/
|
|
7
|
+
export class KnowledgeOwlLink {
|
|
8
|
+
constructor(elementRef, projectURL) {
|
|
9
|
+
this.elementRef = elementRef;
|
|
10
|
+
this.projectURL = projectURL;
|
|
11
|
+
}
|
|
12
|
+
getHostElement() {
|
|
13
|
+
return this.elementRef.nativeElement;
|
|
14
|
+
}
|
|
15
|
+
ngAfterContentInit() {
|
|
16
|
+
this._validateLinkInputs();
|
|
17
|
+
this._initLink();
|
|
18
|
+
}
|
|
19
|
+
openArticle(event) {
|
|
20
|
+
event.preventDefault();
|
|
21
|
+
// Convert the KO link into the widget link
|
|
22
|
+
let widgetHref;
|
|
23
|
+
if (this.knowledgeOwlLink.includes('#')) {
|
|
24
|
+
const widgetlink = this.knowledgeOwlLink.split('#');
|
|
25
|
+
const widgetlink1 = widgetlink[0].replace('/help/', '/help/fetch-article/hash/') +
|
|
26
|
+
'?widget=true';
|
|
27
|
+
const widgetlink2 = '#' + widgetlink[1];
|
|
28
|
+
widgetHref = widgetlink1.concat(widgetlink2);
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
widgetHref =
|
|
32
|
+
this.knowledgeOwlLink.replace('/help/', '/help/fetch-article/hash/') +
|
|
33
|
+
'?widget=true';
|
|
34
|
+
}
|
|
35
|
+
if (window['__ko16']) {
|
|
36
|
+
// Wait until widget loads completely
|
|
37
|
+
window['__ko16'].openArticle(widgetHref);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Private methods
|
|
42
|
+
*/
|
|
43
|
+
/**
|
|
44
|
+
* Initialize link
|
|
45
|
+
*
|
|
46
|
+
* @private
|
|
47
|
+
*/
|
|
48
|
+
_initLink() {
|
|
49
|
+
this.knowledgeOwlLink = `${this.projectURL}/help/${this.knowledgeOwlLink}`; // Updating article link to have complete URL
|
|
50
|
+
const nativeElement = this.getHostElement();
|
|
51
|
+
if (nativeElement.tagName === 'A') {
|
|
52
|
+
// Updating link for <a>
|
|
53
|
+
nativeElement.setAttribute('href', this.knowledgeOwlLink);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Validates all required inputs of knowledge-owl-link
|
|
58
|
+
*
|
|
59
|
+
* @private
|
|
60
|
+
*/
|
|
61
|
+
_validateLinkInputs() {
|
|
62
|
+
this._validateArticlePresence();
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Validates presence of article URL for link
|
|
66
|
+
*
|
|
67
|
+
* @private
|
|
68
|
+
*/
|
|
69
|
+
_validateArticlePresence() {
|
|
70
|
+
if (!this.knowledgeOwlLink) {
|
|
71
|
+
throw getKnowledgeLinkArticleMissingError();
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: KnowledgeOwlLink, deps: [{ token: i0.ElementRef }, { token: 'KOProjectURL' }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
75
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: KnowledgeOwlLink, selector: "a[knowledgeOwlLink]", inputs: { knowledgeOwlLink: "knowledgeOwlLink" }, host: { listeners: { "click": "openArticle($event)" } }, exportAs: ["knowledgeOwlLink"], ngImport: i0 }); }
|
|
76
|
+
}
|
|
77
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: KnowledgeOwlLink, decorators: [{
|
|
78
|
+
type: Directive,
|
|
79
|
+
args: [{
|
|
80
|
+
selector: `a[knowledgeOwlLink]`,
|
|
81
|
+
exportAs: 'knowledgeOwlLink',
|
|
82
|
+
}]
|
|
83
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: undefined, decorators: [{
|
|
84
|
+
type: Inject,
|
|
85
|
+
args: ['KOProjectURL']
|
|
86
|
+
}] }], propDecorators: { knowledgeOwlLink: [{
|
|
87
|
+
type: Input
|
|
88
|
+
}], openArticle: [{
|
|
89
|
+
type: HostListener,
|
|
90
|
+
args: ['click', ['$event']]
|
|
91
|
+
}] } });
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia25vd2xlZGdlLW93bC1saW5rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9rbm93bGVkZ2Utb3dsLWxpbmsva25vd2xlZGdlLW93bC1saW5rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQUVwRjs7R0FFRztBQUtILE1BQU0sT0FBTyxnQkFBZ0I7SUFJM0IsWUFDWSxVQUFzQixFQUNBLFVBQWtCO1FBRHhDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDQSxlQUFVLEdBQVYsVUFBVSxDQUFRO0lBQ2pELENBQUM7SUFFSixjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztJQUN2QyxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBR0QsV0FBVyxDQUFDLEtBQVk7UUFDdEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLDJDQUEyQztRQUMzQyxJQUFJLFVBQVUsQ0FBQztRQUNmLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3hDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDcEQsTUFBTSxXQUFXLEdBQ2YsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsMkJBQTJCLENBQUM7Z0JBQzVELGNBQWMsQ0FBQztZQUNqQixNQUFNLFdBQVcsR0FBRyxHQUFHLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3hDLFVBQVUsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQy9DLENBQUM7YUFBTSxDQUFDO1lBQ04sVUFBVTtnQkFDUixJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSwyQkFBMkIsQ0FBQztvQkFDcEUsY0FBYyxDQUFDO1FBQ25CLENBQUM7UUFFRCxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQ3JCLHFDQUFxQztZQUNyQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzNDLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFFSDs7OztPQUlHO0lBQ0ssU0FBUztRQUNmLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLFNBQVMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyw2Q0FBNkM7UUFDekgsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzVDLElBQUksYUFBYSxDQUFDLE9BQU8sS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUNsQyx3QkFBd0I7WUFDeEIsYUFBYSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDNUQsQ0FBQztJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssbUJBQW1CO1FBQ3pCLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssd0JBQXdCO1FBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUMzQixNQUFNLG1DQUFtQyxFQUFFLENBQUM7UUFDOUMsQ0FBQztJQUNILENBQUM7OEdBOUVVLGdCQUFnQiw0Q0FNakIsY0FBYztrR0FOYixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBSjVCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsUUFBUSxFQUFFLGtCQUFrQjtpQkFDN0I7OzBCQU9JLE1BQU07MkJBQUMsY0FBYzt5Q0FKeEIsZ0JBQWdCO3NCQURmLEtBQUs7Z0JBa0JOLFdBQVc7c0JBRFYsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBFbGVtZW50UmVmLFxuICBIb3N0TGlzdGVuZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIERpcmVjdGl2ZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBnZXRLbm93bGVkZ2VMaW5rQXJ0aWNsZU1pc3NpbmdFcnJvciB9IGZyb20gJy4va25vd2xlZGdlLW93bC13aWRnZXQtZXJyb3JzJztcblxuLyoqXG4gKiBLbm93bGVkZ2UgT3dsIExpbmtcbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiBgYVtrbm93bGVkZ2VPd2xMaW5rXWAsXG4gIGV4cG9ydEFzOiAna25vd2xlZGdlT3dsTGluaycsXG59KVxuZXhwb3J0IGNsYXNzIEtub3dsZWRnZU93bExpbmsgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgQElucHV0KClcbiAga25vd2xlZGdlT3dsTGluazogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIEBJbmplY3QoJ0tPUHJvamVjdFVSTCcpIHByaXZhdGUgcHJvamVjdFVSTDogc3RyaW5nXG4gICkge31cblxuICBnZXRIb3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX3ZhbGlkYXRlTGlua0lucHV0cygpO1xuICAgIHRoaXMuX2luaXRMaW5rKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIG9wZW5BcnRpY2xlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgLy8gQ29udmVydCB0aGUgS08gbGluayBpbnRvIHRoZSB3aWRnZXQgbGlua1xuICAgIGxldCB3aWRnZXRIcmVmO1xuICAgIGlmICh0aGlzLmtub3dsZWRnZU93bExpbmsuaW5jbHVkZXMoJyMnKSkge1xuICAgICAgY29uc3Qgd2lkZ2V0bGluayA9IHRoaXMua25vd2xlZGdlT3dsTGluay5zcGxpdCgnIycpO1xuICAgICAgY29uc3Qgd2lkZ2V0bGluazEgPVxuICAgICAgICB3aWRnZXRsaW5rWzBdLnJlcGxhY2UoJy9oZWxwLycsICcvaGVscC9mZXRjaC1hcnRpY2xlL2hhc2gvJykgK1xuICAgICAgICAnP3dpZGdldD10cnVlJztcbiAgICAgIGNvbnN0IHdpZGdldGxpbmsyID0gJyMnICsgd2lkZ2V0bGlua1sxXTtcbiAgICAgIHdpZGdldEhyZWYgPSB3aWRnZXRsaW5rMS5jb25jYXQod2lkZ2V0bGluazIpO1xuICAgIH0gZWxzZSB7XG4gICAgICB3aWRnZXRIcmVmID1cbiAgICAgICAgdGhpcy5rbm93bGVkZ2VPd2xMaW5rLnJlcGxhY2UoJy9oZWxwLycsICcvaGVscC9mZXRjaC1hcnRpY2xlL2hhc2gvJykgK1xuICAgICAgICAnP3dpZGdldD10cnVlJztcbiAgICB9XG5cbiAgICBpZiAod2luZG93WydfX2tvMTYnXSkge1xuICAgICAgLy8gV2FpdCB1bnRpbCB3aWRnZXQgbG9hZHMgY29tcGxldGVseVxuICAgICAgd2luZG93WydfX2tvMTYnXS5vcGVuQXJ0aWNsZSh3aWRnZXRIcmVmKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUHJpdmF0ZSBtZXRob2RzXG4gICAqL1xuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplIGxpbmtcbiAgICpcbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgX2luaXRMaW5rKCkge1xuICAgIHRoaXMua25vd2xlZGdlT3dsTGluayA9IGAke3RoaXMucHJvamVjdFVSTH0vaGVscC8ke3RoaXMua25vd2xlZGdlT3dsTGlua31gOyAvLyBVcGRhdGluZyBhcnRpY2xlIGxpbmsgdG8gaGF2ZSBjb21wbGV0ZSBVUkxcbiAgICBjb25zdCBuYXRpdmVFbGVtZW50ID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpO1xuICAgIGlmIChuYXRpdmVFbGVtZW50LnRhZ05hbWUgPT09ICdBJykge1xuICAgICAgLy8gVXBkYXRpbmcgbGluayBmb3IgPGE+XG4gICAgICBuYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgnaHJlZicsIHRoaXMua25vd2xlZGdlT3dsTGluayk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlcyBhbGwgcmVxdWlyZWQgaW5wdXRzIG9mIGtub3dsZWRnZS1vd2wtbGlua1xuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBfdmFsaWRhdGVMaW5rSW5wdXRzKCkge1xuICAgIHRoaXMuX3ZhbGlkYXRlQXJ0aWNsZVByZXNlbmNlKCk7XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGVzIHByZXNlbmNlIG9mIGFydGljbGUgVVJMIGZvciBsaW5rXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIF92YWxpZGF0ZUFydGljbGVQcmVzZW5jZSgpIHtcbiAgICBpZiAoIXRoaXMua25vd2xlZGdlT3dsTGluaykge1xuICAgICAgdGhyb3cgZ2V0S25vd2xlZGdlTGlua0FydGljbGVNaXNzaW5nRXJyb3IoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -3,11 +3,11 @@ import { CommonModule } from '@angular/common';
|
|
|
3
3
|
import { KnowledgeOwlWidget } from './knowledge-owl-widget';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export class KnowledgeOwlWidgetModule {
|
|
6
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: KnowledgeOwlWidgetModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: KnowledgeOwlWidgetModule, declarations: [KnowledgeOwlWidget], imports: [CommonModule], exports: [KnowledgeOwlWidget] }); }
|
|
8
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: KnowledgeOwlWidgetModule, imports: [CommonModule] }); }
|
|
6
9
|
}
|
|
7
|
-
|
|
8
|
-
KnowledgeOwlWidgetModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: KnowledgeOwlWidgetModule, declarations: [KnowledgeOwlWidget], imports: [CommonModule], exports: [KnowledgeOwlWidget] });
|
|
9
|
-
KnowledgeOwlWidgetModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: KnowledgeOwlWidgetModule, imports: [CommonModule] });
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: KnowledgeOwlWidgetModule, decorators: [{
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: KnowledgeOwlWidgetModule, decorators: [{
|
|
11
11
|
type: NgModule,
|
|
12
12
|
args: [{
|
|
13
13
|
imports: [CommonModule],
|
|
@@ -16,4 +16,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
16
16
|
providers: [],
|
|
17
17
|
}]
|
|
18
18
|
}] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia25vd2xlZGdlLW93bC13aWRnZXQtbW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9rbm93bGVkZ2Utb3dsLXdpZGdldC9rbm93bGVkZ2Utb3dsLXdpZGdldC1tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBUTVELE1BQU0sT0FBTyx3QkFBd0I7OEdBQXhCLHdCQUF3QjsrR0FBeEIsd0JBQXdCLGlCQUhwQixrQkFBa0IsYUFGdkIsWUFBWSxhQUNaLGtCQUFrQjsrR0FJakIsd0JBQXdCLFlBTHpCLFlBQVk7OzJGQUtYLHdCQUF3QjtrQkFOcEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLE9BQU8sRUFBRSxDQUFDLGtCQUFrQixDQUFDO29CQUM3QixZQUFZLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztvQkFDbEMsU0FBUyxFQUFFLEVBQUU7aUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEtub3dsZWRnZU93bFdpZGdldCB9IGZyb20gJy4va25vd2xlZGdlLW93bC13aWRnZXQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgZXhwb3J0czogW0tub3dsZWRnZU93bFdpZGdldF0sXG4gIGRlY2xhcmF0aW9uczogW0tub3dsZWRnZU93bFdpZGdldF0sXG4gIHByb3ZpZGVyczogW10sXG59KVxuZXhwb3J0IGNsYXNzIEtub3dsZWRnZU93bFdpZGdldE1vZHVsZSB7fVxuIl19
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Inject, Input, ViewEncapsulation, } from '@angular/core';
|
|
2
|
+
import { getKnowledgeWidgetPoductKeyMissingError, getKnowledgeWidgetInvalidProductURLError, } from './knowledge-owl-widget-errors';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/** Regex to validate article URL is valid or not */
|
|
5
|
+
const urlValidatorRegex = /(http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;
|
|
6
|
+
export class KnowledgeOwlWidget {
|
|
7
|
+
set pageLocation(value) {
|
|
8
|
+
this._pageLocation = value.trim();
|
|
9
|
+
this._updatePageLocation();
|
|
10
|
+
}
|
|
11
|
+
get pageLocation() {
|
|
12
|
+
return this._pageLocation;
|
|
13
|
+
}
|
|
14
|
+
constructor(projectURL) {
|
|
15
|
+
this.projectURL = projectURL;
|
|
16
|
+
/** Flag to check initial page location updated */
|
|
17
|
+
this.isPageLocationUpdated = false;
|
|
18
|
+
}
|
|
19
|
+
ngOnInit() {
|
|
20
|
+
this._initWidget();
|
|
21
|
+
this._loadScript();
|
|
22
|
+
}
|
|
23
|
+
ngAfterContentInit() {
|
|
24
|
+
this._validateWidgetInputs();
|
|
25
|
+
this._initPageLocation();
|
|
26
|
+
}
|
|
27
|
+
/** Opens the widget. */
|
|
28
|
+
open(article = '') {
|
|
29
|
+
if (!window['__ko16']) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
if (article) {
|
|
33
|
+
const widgetHref = `${this.projectURL}/help/fetch-article/hash/${article}`;
|
|
34
|
+
window['__ko16'].openArticle(widgetHref);
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
window['__ko16']._toggleOpen();
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Validates the widget's inputs.
|
|
42
|
+
*
|
|
43
|
+
* @private
|
|
44
|
+
*/
|
|
45
|
+
_validateWidgetInputs() {
|
|
46
|
+
this._validateProductURL();
|
|
47
|
+
this._validateProductKey();
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Private methods
|
|
51
|
+
*/
|
|
52
|
+
/**
|
|
53
|
+
* Throws an error if the productKey input is missing.
|
|
54
|
+
*
|
|
55
|
+
* @private
|
|
56
|
+
*/
|
|
57
|
+
_validateProductKey() {
|
|
58
|
+
if (!this.projectKey) {
|
|
59
|
+
throw getKnowledgeWidgetPoductKeyMissingError();
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Throws an error if the productURL input is missing.
|
|
64
|
+
*
|
|
65
|
+
* @private
|
|
66
|
+
*/
|
|
67
|
+
_validateProductURL() {
|
|
68
|
+
if (!this.projectURL || !urlValidatorRegex.test(this.projectURL)) {
|
|
69
|
+
throw getKnowledgeWidgetInvalidProductURLError();
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Initializes the widget.
|
|
74
|
+
*
|
|
75
|
+
* @private
|
|
76
|
+
*/
|
|
77
|
+
_initWidget() {
|
|
78
|
+
const ko16p = [];
|
|
79
|
+
ko16p.push(['_setProject', this.projectKey]);
|
|
80
|
+
window['_ko16_p'] = ko16p;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Loads script into page
|
|
84
|
+
*
|
|
85
|
+
* @private
|
|
86
|
+
*/
|
|
87
|
+
_loadScript() {
|
|
88
|
+
const ko = document.createElement('script');
|
|
89
|
+
ko.type = 'text/javascript';
|
|
90
|
+
ko.async = true;
|
|
91
|
+
ko.src = `${this.projectURL}/javascript/ko-index?__pc=${this.projectKey}`;
|
|
92
|
+
document.head.appendChild(ko);
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Init page location first time
|
|
96
|
+
*/
|
|
97
|
+
_initPageLocation() {
|
|
98
|
+
const updatePageLocationInterval = setInterval(() => {
|
|
99
|
+
if (!this.pageLocation || this.isPageLocationUpdated) {
|
|
100
|
+
clearInterval(updatePageLocationInterval);
|
|
101
|
+
}
|
|
102
|
+
if (!this.isPageLocationUpdated &&
|
|
103
|
+
window['__ko16'] &&
|
|
104
|
+
this.pageLocation) {
|
|
105
|
+
// Updating page location once
|
|
106
|
+
window['__ko16'].updatePageLoc(this.pageLocation);
|
|
107
|
+
this.isPageLocationUpdated = true;
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Update page location on change
|
|
113
|
+
*
|
|
114
|
+
* @private
|
|
115
|
+
*/
|
|
116
|
+
_updatePageLocation() {
|
|
117
|
+
if (!window['__ko16'] || !this.pageLocation) {
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
window['__ko16'].updatePageLoc(this.pageLocation);
|
|
121
|
+
}
|
|
122
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: KnowledgeOwlWidget, deps: [{ token: 'KOProjectURL' }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
123
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: KnowledgeOwlWidget, selector: "knowledge-owl-widget", inputs: { projectKey: "projectKey", pageLocation: "pageLocation" }, providers: [], exportAs: ["knowledgeOwlWidget"], ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
124
|
+
}
|
|
125
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: KnowledgeOwlWidget, decorators: [{
|
|
126
|
+
type: Component,
|
|
127
|
+
args: [{
|
|
128
|
+
selector: 'knowledge-owl-widget',
|
|
129
|
+
template: '',
|
|
130
|
+
encapsulation: ViewEncapsulation.None,
|
|
131
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
132
|
+
exportAs: 'knowledgeOwlWidget',
|
|
133
|
+
providers: [],
|
|
134
|
+
}]
|
|
135
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
136
|
+
type: Inject,
|
|
137
|
+
args: ['KOProjectURL']
|
|
138
|
+
}] }], propDecorators: { projectKey: [{
|
|
139
|
+
type: Input
|
|
140
|
+
}], pageLocation: [{
|
|
141
|
+
type: Input
|
|
142
|
+
}] } });
|
|
143
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia25vd2xlZGdlLW93bC13aWRnZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2tub3dsZWRnZS1vd2wtd2lkZ2V0L2tub3dsZWRnZS1vd2wtd2lkZ2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBRUwsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCx1Q0FBdUMsRUFDdkMsd0NBQXdDLEdBQ3pDLE1BQU0sK0JBQStCLENBQUM7O0FBRXZDLG9EQUFvRDtBQUNwRCxNQUFNLGlCQUFpQixHQUNyQiwrRUFBK0UsQ0FBQztBQVVsRixNQUFNLE9BQU8sa0JBQWtCO0lBVTdCLElBQWEsWUFBWSxDQUFDLEtBQWE7UUFDckMsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBRUQsWUFBNEMsVUFBa0I7UUFBbEIsZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQWxCOUQsa0RBQWtEO1FBQ2xELDBCQUFxQixHQUFHLEtBQUssQ0FBQztJQWlCbUMsQ0FBQztJQUVsRSxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCx3QkFBd0I7SUFDeEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFO1FBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxR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QixFQUFFLDREQUpILEVBQUU7OzJGQU1ELGtCQUFrQjtrQkFSOUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxRQUFRLEVBQUUsRUFBRTtvQkFDWixhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFNBQVMsRUFBRSxFQUFFO2lCQUNkOzswQkFvQmMsTUFBTTsyQkFBQyxjQUFjO3lDQWJsQyxVQUFVO3NCQURULEtBQUs7Z0JBS08sWUFBWTtzQkFBeEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgZ2V0S25vd2xlZGdlV2lkZ2V0UG9kdWN0S2V5TWlzc2luZ0Vycm9yLFxuICBnZXRLbm93bGVkZ2VXaWRnZXRJbnZhbGlkUHJvZHVjdFVSTEVycm9yLFxufSBmcm9tICcuL2tub3dsZWRnZS1vd2wtd2lkZ2V0LWVycm9ycyc7XG5cbi8qKiBSZWdleCB0byB2YWxpZGF0ZSBhcnRpY2xlIFVSTCBpcyB2YWxpZCBvciBub3QgKi9cbmNvbnN0IHVybFZhbGlkYXRvclJlZ2V4ID1cbiAgLyhodHRwfGh0dHBzKTpcXC9cXC8oXFx3Kzp7MCwxfVxcdypAKT8oXFxTKykoOlswLTldKyk/KFxcL3xcXC8oW1xcdyMhOi4/Kz0mJUAhXFwtXFwvXSkpPy87XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2tub3dsZWRnZS1vd2wtd2lkZ2V0JyxcbiAgdGVtcGxhdGU6ICcnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZXhwb3J0QXM6ICdrbm93bGVkZ2VPd2xXaWRnZXQnLFxuICBwcm92aWRlcnM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBLbm93bGVkZ2VPd2xXaWRnZXQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudEluaXQge1xuICAvKiogRmxhZyB0byBjaGVjayBpbml0aWFsIHBhZ2UgbG9jYXRpb24gdXBkYXRlZCAqL1xuICBpc1BhZ2VMb2NhdGlvblVwZGF0ZWQgPSBmYWxzZTtcblxuICAvKiogUHJvZHVjdCBrZXkgdG8gYWNjZXNzIEtub3dsZWRnZU93bCB3aWRnZXQuICovXG4gIEBJbnB1dCgpXG4gIHByb2plY3RLZXk6IHN0cmluZztcblxuICAvKiogQ3VycmVudCBwYWdlIGxvY2F0aW9uIGZvciB3aWRnZXQgY29udGV4dC4gKi9cbiAgcHJpdmF0ZSBfcGFnZUxvY2F0aW9uOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNldCBwYWdlTG9jYXRpb24odmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3BhZ2VMb2NhdGlvbiA9IHZhbHVlLnRyaW0oKTtcbiAgICB0aGlzLl91cGRhdGVQYWdlTG9jYXRpb24oKTtcbiAgfVxuXG4gIGdldCBwYWdlTG9jYXRpb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fcGFnZUxvY2F0aW9uO1xuICB9XG5cbiAgY29uc3RydWN0b3IoQEluamVjdCgnS09Qcm9qZWN0VVJMJykgcHJpdmF0ZSBwcm9qZWN0VVJMOiBzdHJpbmcpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5faW5pdFdpZGdldCgpO1xuICAgIHRoaXMuX2xvYWRTY3JpcHQoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl92YWxpZGF0ZVdpZGdldElucHV0cygpO1xuICAgIHRoaXMuX2luaXRQYWdlTG9jYXRpb24oKTtcbiAgfVxuXG4gIC8qKiBPcGVucyB0aGUgd2lkZ2V0LiAqL1xuICBvcGVuKGFydGljbGUgPSAnJyk6IHZvaWQge1xuICAgIGlmICghd2luZG93WydfX2tvMTYnXSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoYXJ0aWNsZSkge1xuICAgICAgY29uc3Qgd2lkZ2V0SHJlZiA9IGAke3RoaXMucHJvamVjdFVSTH0vaGVscC9mZXRjaC1hcnRpY2xlL2hhc2gvJHthcnRpY2xlfWA7XG4gICAgICB3aW5kb3dbJ19fa28xNiddLm9wZW5BcnRpY2xlKHdpZGdldEhyZWYpO1xuICAgIH0gZWxzZSB7XG4gICAgICB3aW5kb3dbJ19fa28xNiddLl90b2dnbGVPcGVuKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlcyB0aGUgd2lkZ2V0J3MgaW5wdXRzLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJvdGVjdGVkIF92YWxpZGF0ZVdpZGdldElucHV0cygpOiB2b2lkIHtcbiAgICB0aGlzLl92YWxpZGF0ZVByb2R1Y3RVUkwoKTtcbiAgICB0aGlzLl92YWxpZGF0ZVByb2R1Y3RLZXkoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcml2YXRlIG1ldGhvZHNcbiAgICovXG5cbiAgLyoqXG4gICAqIFRocm93cyBhbiBlcnJvciBpZiB0aGUgcHJvZHVjdEtleSBpbnB1dCBpcyBtaXNzaW5nLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBfdmFsaWRhdGVQcm9kdWN0S2V5KCkge1xuICAgIGlmICghdGhpcy5wcm9qZWN0S2V5KSB7XG4gICAgICB0aHJvdyBnZXRLbm93bGVkZ2VXaWRnZXRQb2R1Y3RLZXlNaXNzaW5nRXJyb3IoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVGhyb3dzIGFuIGVycm9yIGlmIHRoZSBwcm9kdWN0VVJMIGlucHV0IGlzIG1pc3NpbmcuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIF92YWxpZGF0ZVByb2R1Y3RVUkwoKSB7XG4gICAgaWYgKCF0aGlzLnByb2plY3RVUkwgfHwgIXVybFZhbGlkYXRvclJlZ2V4LnRlc3QodGhpcy5wcm9qZWN0VVJMKSkge1xuICAgICAgdGhyb3cgZ2V0S25vd2xlZGdlV2lkZ2V0SW52YWxpZFByb2R1Y3RVUkxFcnJvcigpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplcyB0aGUgd2lkZ2V0LlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBfaW5pdFdpZGdldCgpIHtcbiAgICBjb25zdCBrbzE2cCA9IFtdO1xuICAgIGtvMTZwLnB1c2goWydfc2V0UHJvamVjdCcsIHRoaXMucHJvamVjdEtleV0pO1xuICAgIHdpbmRvd1snX2tvMTZfcCddID0ga28xNnA7XG4gIH1cblxuICAvKipcbiAgICogTG9hZHMgc2NyaXB0IGludG8gcGFnZVxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBfbG9hZFNjcmlwdCgpIHtcbiAgICBjb25zdCBrbyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgIGtvLnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JztcbiAgICBrby5hc3luYyA9IHRydWU7XG4gICAga28uc3JjID0gYCR7dGhpcy5wcm9qZWN0VVJMfS9qYXZhc2NyaXB0L2tvLWluZGV4P19fcGM9JHt0aGlzLnByb2plY3RLZXl9YDtcbiAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGtvKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0IHBhZ2UgbG9jYXRpb24gZmlyc3QgdGltZVxuICAgKi9cbiAgcHJpdmF0ZSBfaW5pdFBhZ2VMb2NhdGlvbigpIHtcbiAgICBjb25zdCB1cGRhdGVQYWdlTG9jYXRpb25JbnRlcnZhbCA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgIGlmICghdGhpcy5wYWdlTG9jYXRpb24gfHwgdGhpcy5pc1BhZ2VMb2NhdGlvblVwZGF0ZWQpIHtcbiAgICAgICAgY2xlYXJJbnRlcnZhbCh1cGRhdGVQYWdlTG9jYXRpb25JbnRlcnZhbCk7XG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgICF0aGlzLmlzUGFnZUxvY2F0aW9uVXBkYXRlZCAmJlxuICAgICAgICB3aW5kb3dbJ19fa28xNiddICYmXG4gICAgICAgIHRoaXMucGFnZUxvY2F0aW9uXG4gICAgICApIHtcbiAgICAgICAgLy8gVXBkYXRpbmcgcGFnZSBsb2NhdGlvbiBvbmNlXG4gICAgICAgIHdpbmRvd1snX19rbzE2J10udXBkYXRlUGFnZUxvYyh0aGlzLnBhZ2VMb2NhdGlvbik7XG4gICAgICAgIHRoaXMuaXNQYWdlTG9jYXRpb25VcGRhdGVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgcGFnZSBsb2NhdGlvbiBvbiBjaGFuZ2VcbiAgICpcbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgX3VwZGF0ZVBhZ2VMb2NhdGlvbigpIHtcbiAgICBpZiAoIXdpbmRvd1snX19rbzE2J10gfHwgIXRoaXMucGFnZUxvY2F0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHdpbmRvd1snX19rbzE2J10udXBkYXRlUGFnZUxvYyh0aGlzLnBhZ2VMb2NhdGlvbik7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -9,11 +9,6 @@ const getKnowledgeWidgetInvalidProductURLError = () => Error('knowledge-owl-widg
|
|
|
9
9
|
/** Regex to validate article URL is valid or not */
|
|
10
10
|
const urlValidatorRegex = /(http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;
|
|
11
11
|
class KnowledgeOwlWidget {
|
|
12
|
-
constructor(projectURL) {
|
|
13
|
-
this.projectURL = projectURL;
|
|
14
|
-
/** Flag to check initial page location updated */
|
|
15
|
-
this.isPageLocationUpdated = false;
|
|
16
|
-
}
|
|
17
12
|
set pageLocation(value) {
|
|
18
13
|
this._pageLocation = value.trim();
|
|
19
14
|
this._updatePageLocation();
|
|
@@ -21,6 +16,11 @@ class KnowledgeOwlWidget {
|
|
|
21
16
|
get pageLocation() {
|
|
22
17
|
return this._pageLocation;
|
|
23
18
|
}
|
|
19
|
+
constructor(projectURL) {
|
|
20
|
+
this.projectURL = projectURL;
|
|
21
|
+
/** Flag to check initial page location updated */
|
|
22
|
+
this.isPageLocationUpdated = false;
|
|
23
|
+
}
|
|
24
24
|
ngOnInit() {
|
|
25
25
|
this._initWidget();
|
|
26
26
|
this._loadScript();
|
|
@@ -124,10 +124,10 @@ class KnowledgeOwlWidget {
|
|
|
124
124
|
}
|
|
125
125
|
window['__ko16'].updatePageLoc(this.pageLocation);
|
|
126
126
|
}
|
|
127
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: KnowledgeOwlWidget, deps: [{ token: 'KOProjectURL' }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
128
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: KnowledgeOwlWidget, selector: "knowledge-owl-widget", inputs: { projectKey: "projectKey", pageLocation: "pageLocation" }, providers: [], exportAs: ["knowledgeOwlWidget"], ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
127
129
|
}
|
|
128
|
-
|
|
129
|
-
KnowledgeOwlWidget.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: KnowledgeOwlWidget, selector: "knowledge-owl-widget", inputs: { projectKey: "projectKey", pageLocation: "pageLocation" }, providers: [], exportAs: ["knowledgeOwlWidget"], ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
130
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: KnowledgeOwlWidget, decorators: [{
|
|
130
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: KnowledgeOwlWidget, decorators: [{
|
|
131
131
|
type: Component,
|
|
132
132
|
args: [{
|
|
133
133
|
selector: 'knowledge-owl-widget',
|
|
@@ -137,21 +137,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
137
137
|
exportAs: 'knowledgeOwlWidget',
|
|
138
138
|
providers: [],
|
|
139
139
|
}]
|
|
140
|
-
}], ctorParameters:
|
|
140
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
141
141
|
type: Inject,
|
|
142
142
|
args: ['KOProjectURL']
|
|
143
|
-
}] }]
|
|
143
|
+
}] }], propDecorators: { projectKey: [{
|
|
144
144
|
type: Input
|
|
145
145
|
}], pageLocation: [{
|
|
146
146
|
type: Input
|
|
147
147
|
}] } });
|
|
148
148
|
|
|
149
149
|
class KnowledgeOwlWidgetModule {
|
|
150
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: KnowledgeOwlWidgetModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
151
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: KnowledgeOwlWidgetModule, declarations: [KnowledgeOwlWidget], imports: [CommonModule], exports: [KnowledgeOwlWidget] }); }
|
|
152
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: KnowledgeOwlWidgetModule, imports: [CommonModule] }); }
|
|
150
153
|
}
|
|
151
|
-
|
|
152
|
-
KnowledgeOwlWidgetModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: KnowledgeOwlWidgetModule, declarations: [KnowledgeOwlWidget], imports: [CommonModule], exports: [KnowledgeOwlWidget] });
|
|
153
|
-
KnowledgeOwlWidgetModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: KnowledgeOwlWidgetModule, imports: [CommonModule] });
|
|
154
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: KnowledgeOwlWidgetModule, decorators: [{
|
|
154
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: KnowledgeOwlWidgetModule, decorators: [{
|
|
155
155
|
type: NgModule,
|
|
156
156
|
args: [{
|
|
157
157
|
imports: [CommonModule],
|
|
@@ -234,19 +234,19 @@ class KnowledgeOwlLink {
|
|
|
234
234
|
throw getKnowledgeLinkArticleMissingError();
|
|
235
235
|
}
|
|
236
236
|
}
|
|
237
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: KnowledgeOwlLink, deps: [{ token: i0.ElementRef }, { token: 'KOProjectURL' }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
238
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: KnowledgeOwlLink, selector: "a[knowledgeOwlLink]", inputs: { knowledgeOwlLink: "knowledgeOwlLink" }, host: { listeners: { "click": "openArticle($event)" } }, exportAs: ["knowledgeOwlLink"], ngImport: i0 }); }
|
|
237
239
|
}
|
|
238
|
-
|
|
239
|
-
KnowledgeOwlLink.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: KnowledgeOwlLink, selector: "a[knowledgeOwlLink]", inputs: { knowledgeOwlLink: "knowledgeOwlLink" }, host: { listeners: { "click": "openArticle($event)" } }, exportAs: ["knowledgeOwlLink"], ngImport: i0 });
|
|
240
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: KnowledgeOwlLink, decorators: [{
|
|
240
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: KnowledgeOwlLink, decorators: [{
|
|
241
241
|
type: Directive,
|
|
242
242
|
args: [{
|
|
243
243
|
selector: `a[knowledgeOwlLink]`,
|
|
244
244
|
exportAs: 'knowledgeOwlLink',
|
|
245
245
|
}]
|
|
246
|
-
}], ctorParameters:
|
|
246
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: undefined, decorators: [{
|
|
247
247
|
type: Inject,
|
|
248
248
|
args: ['KOProjectURL']
|
|
249
|
-
}] }]
|
|
249
|
+
}] }], propDecorators: { knowledgeOwlLink: [{
|
|
250
250
|
type: Input
|
|
251
251
|
}], openArticle: [{
|
|
252
252
|
type: HostListener,
|
|
@@ -254,11 +254,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
254
254
|
}] } });
|
|
255
255
|
|
|
256
256
|
class KnowledgeOwlLinkModule {
|
|
257
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: KnowledgeOwlLinkModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
258
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: KnowledgeOwlLinkModule, declarations: [KnowledgeOwlLink], imports: [CommonModule], exports: [KnowledgeOwlLink] }); }
|
|
259
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: KnowledgeOwlLinkModule, imports: [CommonModule] }); }
|
|
257
260
|
}
|
|
258
|
-
|
|
259
|
-
KnowledgeOwlLinkModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: KnowledgeOwlLinkModule, declarations: [KnowledgeOwlLink], imports: [CommonModule], exports: [KnowledgeOwlLink] });
|
|
260
|
-
KnowledgeOwlLinkModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: KnowledgeOwlLinkModule, imports: [CommonModule] });
|
|
261
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: KnowledgeOwlLinkModule, decorators: [{
|
|
261
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: KnowledgeOwlLinkModule, decorators: [{
|
|
262
262
|
type: NgModule,
|
|
263
263
|
args: [{
|
|
264
264
|
imports: [CommonModule],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oncehub-knowledgeowl-angular.mjs","sources":["../../../src/lib/knowledge-owl-widget/knowledge-owl-widget-errors.ts","../../../src/lib/knowledge-owl-widget/knowledge-owl-widget.ts","../../../src/lib/knowledge-owl-widget/knowledge-owl-widget-module.ts","../../../src/lib/knowledge-owl-link/knowledge-owl-widget-errors.ts","../../../src/lib/knowledge-owl-link/knowledge-owl-link.ts","../../../src/lib/knowledge-owl-link/knowledge-owl-link-module.ts","../../../src/oncehub-knowledgeowl-angular.ts"],"sourcesContent":["/** @docs-private */\nexport const getKnowledgeWidgetPoductKeyMissingError = (): Error =>\n Error('knowledge-owl-widget requires product key as input.');\n\nexport const getKnowledgeWidgetInvalidProductURLError = (): Error =>\n Error('knowledge-owl-widget requires valid product URL as provider.');\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n Inject,\n Input,\n OnInit,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n getKnowledgeWidgetPoductKeyMissingError,\n getKnowledgeWidgetInvalidProductURLError,\n} from './knowledge-owl-widget-errors';\n\n/** Regex to validate article URL is valid or not */\nconst urlValidatorRegex =\n /(http|https):\\/\\/(\\w+:{0,1}\\w*@)?(\\S+)(:[0-9]+)?(\\/|\\/([\\w#!:.?+=&%@!\\-\\/]))?/;\n\n@Component({\n selector: 'knowledge-owl-widget',\n template: '',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: 'knowledgeOwlWidget',\n providers: [],\n})\nexport class KnowledgeOwlWidget implements OnInit, AfterContentInit {\n /** Flag to check initial page location updated */\n isPageLocationUpdated = false;\n\n /** Product key to access KnowledgeOwl widget. */\n @Input()\n projectKey: string;\n\n /** Current page location for widget context. */\n private _pageLocation: string;\n @Input() set pageLocation(value: string) {\n this._pageLocation = value.trim();\n this._updatePageLocation();\n }\n\n get pageLocation(): string {\n return this._pageLocation;\n }\n\n constructor(@Inject('KOProjectURL') private projectURL: string) {}\n\n ngOnInit(): void {\n this._initWidget();\n this._loadScript();\n }\n\n ngAfterContentInit(): void {\n this._validateWidgetInputs();\n this._initPageLocation();\n }\n\n /** Opens the widget. */\n open(article = ''): void {\n if (!window['__ko16']) {\n return;\n }\n if (article) {\n const widgetHref = `${this.projectURL}/help/fetch-article/hash/${article}`;\n window['__ko16'].openArticle(widgetHref);\n } else {\n window['__ko16']._toggleOpen();\n }\n }\n\n /**\n * Validates the widget's inputs.\n *\n * @private\n */\n protected _validateWidgetInputs(): void {\n this._validateProductURL();\n this._validateProductKey();\n }\n\n /**\n * Private methods\n */\n\n /**\n * Throws an error if the productKey input is missing.\n *\n * @private\n */\n private _validateProductKey() {\n if (!this.projectKey) {\n throw getKnowledgeWidgetPoductKeyMissingError();\n }\n }\n\n /**\n * Throws an error if the productURL input is missing.\n *\n * @private\n */\n private _validateProductURL() {\n if (!this.projectURL || !urlValidatorRegex.test(this.projectURL)) {\n throw getKnowledgeWidgetInvalidProductURLError();\n }\n }\n\n /**\n * Initializes the widget.\n *\n * @private\n */\n private _initWidget() {\n const ko16p = [];\n ko16p.push(['_setProject', this.projectKey]);\n window['_ko16_p'] = ko16p;\n }\n\n /**\n * Loads script into page\n *\n * @private\n */\n private _loadScript() {\n const ko = document.createElement('script');\n ko.type = 'text/javascript';\n ko.async = true;\n ko.src = `${this.projectURL}/javascript/ko-index?__pc=${this.projectKey}`;\n document.head.appendChild(ko);\n }\n\n /**\n * Init page location first time\n */\n private _initPageLocation() {\n const updatePageLocationInterval = setInterval(() => {\n if (!this.pageLocation || this.isPageLocationUpdated) {\n clearInterval(updatePageLocationInterval);\n }\n if (\n !this.isPageLocationUpdated &&\n window['__ko16'] &&\n this.pageLocation\n ) {\n // Updating page location once\n window['__ko16'].updatePageLoc(this.pageLocation);\n this.isPageLocationUpdated = true;\n }\n });\n }\n\n /**\n * Update page location on change\n *\n * @private\n */\n private _updatePageLocation() {\n if (!window['__ko16'] || !this.pageLocation) {\n return;\n }\n window['__ko16'].updatePageLoc(this.pageLocation);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { KnowledgeOwlWidget } from './knowledge-owl-widget';\n\n@NgModule({\n imports: [CommonModule],\n exports: [KnowledgeOwlWidget],\n declarations: [KnowledgeOwlWidget],\n providers: [],\n})\nexport class KnowledgeOwlWidgetModule {}\n","/** @docs-private */\nexport const getKnowledgeLinkArticleMissingError = (): Error =>\n Error('knowledge-owl-link requires article URL as input.');\n","import {\n AfterContentInit,\n ElementRef,\n HostListener,\n Inject,\n Input,\n Directive,\n} from '@angular/core';\nimport { getKnowledgeLinkArticleMissingError } from './knowledge-owl-widget-errors';\n\n/**\n * Knowledge Owl Link\n */\n@Directive({\n selector: `a[knowledgeOwlLink]`,\n exportAs: 'knowledgeOwlLink',\n})\nexport class KnowledgeOwlLink implements AfterContentInit {\n @Input()\n knowledgeOwlLink: string;\n\n constructor(\n protected elementRef: ElementRef,\n @Inject('KOProjectURL') private projectURL: string\n ) {}\n\n getHostElement(): HTMLElement {\n return this.elementRef.nativeElement;\n }\n\n ngAfterContentInit(): void {\n this._validateLinkInputs();\n this._initLink();\n }\n\n @HostListener('click', ['$event'])\n openArticle(event: Event): void {\n event.preventDefault();\n // Convert the KO link into the widget link\n let widgetHref;\n if (this.knowledgeOwlLink.includes('#')) {\n const widgetlink = this.knowledgeOwlLink.split('#');\n const widgetlink1 =\n widgetlink[0].replace('/help/', '/help/fetch-article/hash/') +\n '?widget=true';\n const widgetlink2 = '#' + widgetlink[1];\n widgetHref = widgetlink1.concat(widgetlink2);\n } else {\n widgetHref =\n this.knowledgeOwlLink.replace('/help/', '/help/fetch-article/hash/') +\n '?widget=true';\n }\n\n if (window['__ko16']) {\n // Wait until widget loads completely\n window['__ko16'].openArticle(widgetHref);\n }\n }\n\n /**\n * Private methods\n */\n\n /**\n * Initialize link\n *\n * @private\n */\n private _initLink() {\n this.knowledgeOwlLink = `${this.projectURL}/help/${this.knowledgeOwlLink}`; // Updating article link to have complete URL\n const nativeElement = this.getHostElement();\n if (nativeElement.tagName === 'A') {\n // Updating link for <a>\n nativeElement.setAttribute('href', this.knowledgeOwlLink);\n }\n }\n\n /**\n * Validates all required inputs of knowledge-owl-link\n *\n * @private\n */\n private _validateLinkInputs() {\n this._validateArticlePresence();\n }\n\n /**\n * Validates presence of article URL for link\n *\n * @private\n */\n private _validateArticlePresence() {\n if (!this.knowledgeOwlLink) {\n throw getKnowledgeLinkArticleMissingError();\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { KnowledgeOwlLink } from './knowledge-owl-link';\n\n@NgModule({\n imports: [CommonModule],\n exports: [KnowledgeOwlLink],\n declarations: [KnowledgeOwlLink],\n})\nexport class KnowledgeOwlLinkModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"oncehub-knowledgeowl-angular.mjs","sources":["../../../src/lib/knowledge-owl-widget/knowledge-owl-widget-errors.ts","../../../src/lib/knowledge-owl-widget/knowledge-owl-widget.ts","../../../src/lib/knowledge-owl-widget/knowledge-owl-widget-module.ts","../../../src/lib/knowledge-owl-link/knowledge-owl-widget-errors.ts","../../../src/lib/knowledge-owl-link/knowledge-owl-link.ts","../../../src/lib/knowledge-owl-link/knowledge-owl-link-module.ts","../../../src/oncehub-knowledgeowl-angular.ts"],"sourcesContent":["/** @docs-private */\nexport const getKnowledgeWidgetPoductKeyMissingError = (): Error =>\n Error('knowledge-owl-widget requires product key as input.');\n\nexport const getKnowledgeWidgetInvalidProductURLError = (): Error =>\n Error('knowledge-owl-widget requires valid product URL as provider.');\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n Inject,\n Input,\n OnInit,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n getKnowledgeWidgetPoductKeyMissingError,\n getKnowledgeWidgetInvalidProductURLError,\n} from './knowledge-owl-widget-errors';\n\n/** Regex to validate article URL is valid or not */\nconst urlValidatorRegex =\n /(http|https):\\/\\/(\\w+:{0,1}\\w*@)?(\\S+)(:[0-9]+)?(\\/|\\/([\\w#!:.?+=&%@!\\-\\/]))?/;\n\n@Component({\n selector: 'knowledge-owl-widget',\n template: '',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: 'knowledgeOwlWidget',\n providers: [],\n})\nexport class KnowledgeOwlWidget implements OnInit, AfterContentInit {\n /** Flag to check initial page location updated */\n isPageLocationUpdated = false;\n\n /** Product key to access KnowledgeOwl widget. */\n @Input()\n projectKey: string;\n\n /** Current page location for widget context. */\n private _pageLocation: string;\n @Input() set pageLocation(value: string) {\n this._pageLocation = value.trim();\n this._updatePageLocation();\n }\n\n get pageLocation(): string {\n return this._pageLocation;\n }\n\n constructor(@Inject('KOProjectURL') private projectURL: string) {}\n\n ngOnInit(): void {\n this._initWidget();\n this._loadScript();\n }\n\n ngAfterContentInit(): void {\n this._validateWidgetInputs();\n this._initPageLocation();\n }\n\n /** Opens the widget. */\n open(article = ''): void {\n if (!window['__ko16']) {\n return;\n }\n if (article) {\n const widgetHref = `${this.projectURL}/help/fetch-article/hash/${article}`;\n window['__ko16'].openArticle(widgetHref);\n } else {\n window['__ko16']._toggleOpen();\n }\n }\n\n /**\n * Validates the widget's inputs.\n *\n * @private\n */\n protected _validateWidgetInputs(): void {\n this._validateProductURL();\n this._validateProductKey();\n }\n\n /**\n * Private methods\n */\n\n /**\n * Throws an error if the productKey input is missing.\n *\n * @private\n */\n private _validateProductKey() {\n if (!this.projectKey) {\n throw getKnowledgeWidgetPoductKeyMissingError();\n }\n }\n\n /**\n * Throws an error if the productURL input is missing.\n *\n * @private\n */\n private _validateProductURL() {\n if (!this.projectURL || !urlValidatorRegex.test(this.projectURL)) {\n throw getKnowledgeWidgetInvalidProductURLError();\n }\n }\n\n /**\n * Initializes the widget.\n *\n * @private\n */\n private _initWidget() {\n const ko16p = [];\n ko16p.push(['_setProject', this.projectKey]);\n window['_ko16_p'] = ko16p;\n }\n\n /**\n * Loads script into page\n *\n * @private\n */\n private _loadScript() {\n const ko = document.createElement('script');\n ko.type = 'text/javascript';\n ko.async = true;\n ko.src = `${this.projectURL}/javascript/ko-index?__pc=${this.projectKey}`;\n document.head.appendChild(ko);\n }\n\n /**\n * Init page location first time\n */\n private _initPageLocation() {\n const updatePageLocationInterval = setInterval(() => {\n if (!this.pageLocation || this.isPageLocationUpdated) {\n clearInterval(updatePageLocationInterval);\n }\n if (\n !this.isPageLocationUpdated &&\n window['__ko16'] &&\n this.pageLocation\n ) {\n // Updating page location once\n window['__ko16'].updatePageLoc(this.pageLocation);\n this.isPageLocationUpdated = true;\n }\n });\n }\n\n /**\n * Update page location on change\n *\n * @private\n */\n private _updatePageLocation() {\n if (!window['__ko16'] || !this.pageLocation) {\n return;\n }\n window['__ko16'].updatePageLoc(this.pageLocation);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { KnowledgeOwlWidget } from './knowledge-owl-widget';\n\n@NgModule({\n imports: [CommonModule],\n exports: [KnowledgeOwlWidget],\n declarations: [KnowledgeOwlWidget],\n providers: [],\n})\nexport class KnowledgeOwlWidgetModule {}\n","/** @docs-private */\nexport const getKnowledgeLinkArticleMissingError = (): Error =>\n Error('knowledge-owl-link requires article URL as input.');\n","import {\n AfterContentInit,\n ElementRef,\n HostListener,\n Inject,\n Input,\n Directive,\n} from '@angular/core';\nimport { getKnowledgeLinkArticleMissingError } from './knowledge-owl-widget-errors';\n\n/**\n * Knowledge Owl Link\n */\n@Directive({\n selector: `a[knowledgeOwlLink]`,\n exportAs: 'knowledgeOwlLink',\n})\nexport class KnowledgeOwlLink implements AfterContentInit {\n @Input()\n knowledgeOwlLink: string;\n\n constructor(\n protected elementRef: ElementRef,\n @Inject('KOProjectURL') private projectURL: string\n ) {}\n\n getHostElement(): HTMLElement {\n return this.elementRef.nativeElement;\n }\n\n ngAfterContentInit(): void {\n this._validateLinkInputs();\n this._initLink();\n }\n\n @HostListener('click', ['$event'])\n openArticle(event: Event): void {\n event.preventDefault();\n // Convert the KO link into the widget link\n let widgetHref;\n if (this.knowledgeOwlLink.includes('#')) {\n const widgetlink = this.knowledgeOwlLink.split('#');\n const widgetlink1 =\n widgetlink[0].replace('/help/', '/help/fetch-article/hash/') +\n '?widget=true';\n const widgetlink2 = '#' + widgetlink[1];\n widgetHref = widgetlink1.concat(widgetlink2);\n } else {\n widgetHref =\n this.knowledgeOwlLink.replace('/help/', '/help/fetch-article/hash/') +\n '?widget=true';\n }\n\n if (window['__ko16']) {\n // Wait until widget loads completely\n window['__ko16'].openArticle(widgetHref);\n }\n }\n\n /**\n * Private methods\n */\n\n /**\n * Initialize link\n *\n * @private\n */\n private _initLink() {\n this.knowledgeOwlLink = `${this.projectURL}/help/${this.knowledgeOwlLink}`; // Updating article link to have complete URL\n const nativeElement = this.getHostElement();\n if (nativeElement.tagName === 'A') {\n // Updating link for <a>\n nativeElement.setAttribute('href', this.knowledgeOwlLink);\n }\n }\n\n /**\n * Validates all required inputs of knowledge-owl-link\n *\n * @private\n */\n private _validateLinkInputs() {\n this._validateArticlePresence();\n }\n\n /**\n * Validates presence of article URL for link\n *\n * @private\n */\n private _validateArticlePresence() {\n if (!this.knowledgeOwlLink) {\n throw getKnowledgeLinkArticleMissingError();\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { KnowledgeOwlLink } from './knowledge-owl-link';\n\n@NgModule({\n imports: [CommonModule],\n exports: [KnowledgeOwlLink],\n declarations: [KnowledgeOwlLink],\n})\nexport class KnowledgeOwlLinkModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -33,5 +33,5 @@ export declare class KnowledgeOwlLink implements AfterContentInit {
|
|
|
33
33
|
*/
|
|
34
34
|
private _validateArticlePresence;
|
|
35
35
|
static ɵfac: i0.ɵɵFactoryDeclaration<KnowledgeOwlLink, never>;
|
|
36
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<KnowledgeOwlLink, "a[knowledgeOwlLink]", ["knowledgeOwlLink"], { "knowledgeOwlLink": "knowledgeOwlLink"; }, {}, never, never, false>;
|
|
36
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<KnowledgeOwlLink, "a[knowledgeOwlLink]", ["knowledgeOwlLink"], { "knowledgeOwlLink": { "alias": "knowledgeOwlLink"; "required": false; }; }, {}, never, never, false, never>;
|
|
37
37
|
}
|
|
@@ -59,5 +59,5 @@ export declare class KnowledgeOwlWidget implements OnInit, AfterContentInit {
|
|
|
59
59
|
*/
|
|
60
60
|
private _updatePageLocation;
|
|
61
61
|
static ɵfac: i0.ɵɵFactoryDeclaration<KnowledgeOwlWidget, never>;
|
|
62
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<KnowledgeOwlWidget, "knowledge-owl-widget", ["knowledgeOwlWidget"], { "projectKey": "projectKey"; "pageLocation": "pageLocation"; }, {}, never, never, false>;
|
|
62
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<KnowledgeOwlWidget, "knowledge-owl-widget", ["knowledgeOwlWidget"], { "projectKey": { "alias": "projectKey"; "required": false; }; "pageLocation": { "alias": "pageLocation"; "required": false; }; }, {}, never, never, false, never>;
|
|
63
63
|
}
|
package/package.json
CHANGED
|
@@ -1,21 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oncehub/knowledgeowl-angular",
|
|
3
|
-
"
|
|
4
|
-
"
|
|
5
|
-
"
|
|
3
|
+
"version": "4.1.13-beta",
|
|
4
|
+
"description": "Knowledge Owl Angular",
|
|
5
|
+
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
8
|
-
"url": "
|
|
8
|
+
"url": "https://github.com/scheduleonce/knowledgeowl-angular"
|
|
9
9
|
},
|
|
10
10
|
"peerDependencies": {
|
|
11
|
-
"@angular/common": "
|
|
12
|
-
"@angular/core": "
|
|
11
|
+
"@angular/common": "18.2.0",
|
|
12
|
+
"@angular/core": "18.2.0"
|
|
13
13
|
},
|
|
14
|
-
"module": "
|
|
15
|
-
"es2020": "fesm2020/oncehub-knowledgeowl-angular.mjs",
|
|
16
|
-
"esm2020": "esm2020/oncehub-knowledgeowl-angular.mjs",
|
|
17
|
-
"fesm2020": "fesm2020/oncehub-knowledgeowl-angular.mjs",
|
|
18
|
-
"fesm2015": "fesm2015/oncehub-knowledgeowl-angular.mjs",
|
|
14
|
+
"module": "fesm2022/oncehub-knowledgeowl-angular.mjs",
|
|
19
15
|
"typings": "index.d.ts",
|
|
20
16
|
"exports": {
|
|
21
17
|
"./package.json": {
|
|
@@ -23,11 +19,9 @@
|
|
|
23
19
|
},
|
|
24
20
|
".": {
|
|
25
21
|
"types": "./index.d.ts",
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"node": "./fesm2015/oncehub-knowledgeowl-angular.mjs",
|
|
30
|
-
"default": "./fesm2020/oncehub-knowledgeowl-angular.mjs"
|
|
22
|
+
"esm2022": "./esm2022/oncehub-knowledgeowl-angular.mjs",
|
|
23
|
+
"esm": "./esm2022/oncehub-knowledgeowl-angular.mjs",
|
|
24
|
+
"default": "./fesm2022/oncehub-knowledgeowl-angular.mjs"
|
|
31
25
|
}
|
|
32
26
|
},
|
|
33
27
|
"sideEffects": false,
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import { ElementRef, HostListener, Inject, Input, Directive, } from '@angular/core';
|
|
2
|
-
import { getKnowledgeLinkArticleMissingError } from './knowledge-owl-widget-errors';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
/**
|
|
5
|
-
* Knowledge Owl Link
|
|
6
|
-
*/
|
|
7
|
-
export class KnowledgeOwlLink {
|
|
8
|
-
constructor(elementRef, projectURL) {
|
|
9
|
-
this.elementRef = elementRef;
|
|
10
|
-
this.projectURL = projectURL;
|
|
11
|
-
}
|
|
12
|
-
getHostElement() {
|
|
13
|
-
return this.elementRef.nativeElement;
|
|
14
|
-
}
|
|
15
|
-
ngAfterContentInit() {
|
|
16
|
-
this._validateLinkInputs();
|
|
17
|
-
this._initLink();
|
|
18
|
-
}
|
|
19
|
-
openArticle(event) {
|
|
20
|
-
event.preventDefault();
|
|
21
|
-
// Convert the KO link into the widget link
|
|
22
|
-
let widgetHref;
|
|
23
|
-
if (this.knowledgeOwlLink.includes('#')) {
|
|
24
|
-
const widgetlink = this.knowledgeOwlLink.split('#');
|
|
25
|
-
const widgetlink1 = widgetlink[0].replace('/help/', '/help/fetch-article/hash/') +
|
|
26
|
-
'?widget=true';
|
|
27
|
-
const widgetlink2 = '#' + widgetlink[1];
|
|
28
|
-
widgetHref = widgetlink1.concat(widgetlink2);
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
widgetHref =
|
|
32
|
-
this.knowledgeOwlLink.replace('/help/', '/help/fetch-article/hash/') +
|
|
33
|
-
'?widget=true';
|
|
34
|
-
}
|
|
35
|
-
if (window['__ko16']) {
|
|
36
|
-
// Wait until widget loads completely
|
|
37
|
-
window['__ko16'].openArticle(widgetHref);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Private methods
|
|
42
|
-
*/
|
|
43
|
-
/**
|
|
44
|
-
* Initialize link
|
|
45
|
-
*
|
|
46
|
-
* @private
|
|
47
|
-
*/
|
|
48
|
-
_initLink() {
|
|
49
|
-
this.knowledgeOwlLink = `${this.projectURL}/help/${this.knowledgeOwlLink}`; // Updating article link to have complete URL
|
|
50
|
-
const nativeElement = this.getHostElement();
|
|
51
|
-
if (nativeElement.tagName === 'A') {
|
|
52
|
-
// Updating link for <a>
|
|
53
|
-
nativeElement.setAttribute('href', this.knowledgeOwlLink);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Validates all required inputs of knowledge-owl-link
|
|
58
|
-
*
|
|
59
|
-
* @private
|
|
60
|
-
*/
|
|
61
|
-
_validateLinkInputs() {
|
|
62
|
-
this._validateArticlePresence();
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Validates presence of article URL for link
|
|
66
|
-
*
|
|
67
|
-
* @private
|
|
68
|
-
*/
|
|
69
|
-
_validateArticlePresence() {
|
|
70
|
-
if (!this.knowledgeOwlLink) {
|
|
71
|
-
throw getKnowledgeLinkArticleMissingError();
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
KnowledgeOwlLink.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: KnowledgeOwlLink, deps: [{ token: i0.ElementRef }, { token: 'KOProjectURL' }], target: i0.ɵɵFactoryTarget.Directive });
|
|
76
|
-
KnowledgeOwlLink.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: KnowledgeOwlLink, selector: "a[knowledgeOwlLink]", inputs: { knowledgeOwlLink: "knowledgeOwlLink" }, host: { listeners: { "click": "openArticle($event)" } }, exportAs: ["knowledgeOwlLink"], ngImport: i0 });
|
|
77
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: KnowledgeOwlLink, decorators: [{
|
|
78
|
-
type: Directive,
|
|
79
|
-
args: [{
|
|
80
|
-
selector: `a[knowledgeOwlLink]`,
|
|
81
|
-
exportAs: 'knowledgeOwlLink',
|
|
82
|
-
}]
|
|
83
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: undefined, decorators: [{
|
|
84
|
-
type: Inject,
|
|
85
|
-
args: ['KOProjectURL']
|
|
86
|
-
}] }]; }, propDecorators: { knowledgeOwlLink: [{
|
|
87
|
-
type: Input
|
|
88
|
-
}], openArticle: [{
|
|
89
|
-
type: HostListener,
|
|
90
|
-
args: ['click', ['$event']]
|
|
91
|
-
}] } });
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia25vd2xlZGdlLW93bC1saW5rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9rbm93bGVkZ2Utb3dsLWxpbmsva25vd2xlZGdlLW93bC1saW5rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQUVwRjs7R0FFRztBQUtILE1BQU0sT0FBTyxnQkFBZ0I7SUFJM0IsWUFDWSxVQUFzQixFQUNBLFVBQWtCO1FBRHhDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDQSxlQUFVLEdBQVYsVUFBVSxDQUFRO0lBQ2pELENBQUM7SUFFSixjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztJQUN2QyxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBR0QsV0FBVyxDQUFDLEtBQVk7UUFDdEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLDJDQUEyQztRQUMzQyxJQUFJLFVBQVUsQ0FBQztRQUNmLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN2QyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3BELE1BQU0sV0FBVyxHQUNmLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLDJCQUEyQixDQUFDO2dCQUM1RCxjQUFjLENBQUM7WUFDakIsTUFBTSxXQUFXLEdBQUcsR0FBRyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN4QyxVQUFVLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUM5QzthQUFNO1lBQ0wsVUFBVTtnQkFDUixJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSwyQkFBMkIsQ0FBQztvQkFDcEUsY0FBYyxDQUFDO1NBQ2xCO1FBRUQsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDcEIscUNBQXFDO1lBQ3JDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDMUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFFSDs7OztPQUlHO0lBQ0ssU0FBUztRQUNmLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLFNBQVMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyw2Q0FBNkM7UUFDekgsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzVDLElBQUksYUFBYSxDQUFDLE9BQU8sS0FBSyxHQUFHLEVBQUU7WUFDakMsd0JBQXdCO1lBQ3hCLGFBQWEsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1NBQzNEO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxtQkFBbUI7UUFDekIsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyx3QkFBd0I7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUMxQixNQUFNLG1DQUFtQyxFQUFFLENBQUM7U0FDN0M7SUFDSCxDQUFDOzs4R0E5RVUsZ0JBQWdCLDRDQU1qQixjQUFjO2tHQU5iLGdCQUFnQjs0RkFBaEIsZ0JBQWdCO2tCQUo1QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFFBQVEsRUFBRSxrQkFBa0I7aUJBQzdCOzswQkFPSSxNQUFNOzJCQUFDLGNBQWM7NENBSnhCLGdCQUFnQjtzQkFEZixLQUFLO2dCQWtCTixXQUFXO3NCQURWLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdExpc3RlbmVyLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBEaXJlY3RpdmUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZ2V0S25vd2xlZGdlTGlua0FydGljbGVNaXNzaW5nRXJyb3IgfSBmcm9tICcuL2tub3dsZWRnZS1vd2wtd2lkZ2V0LWVycm9ycyc7XG5cbi8qKlxuICogS25vd2xlZGdlIE93bCBMaW5rXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogYGFba25vd2xlZGdlT3dsTGlua11gLFxuICBleHBvcnRBczogJ2tub3dsZWRnZU93bExpbmsnLFxufSlcbmV4cG9ydCBjbGFzcyBLbm93bGVkZ2VPd2xMaW5rIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIEBJbnB1dCgpXG4gIGtub3dsZWRnZU93bExpbms6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBASW5qZWN0KCdLT1Byb2plY3RVUkwnKSBwcml2YXRlIHByb2plY3RVUkw6IHN0cmluZ1xuICApIHt9XG5cbiAgZ2V0SG9zdEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl92YWxpZGF0ZUxpbmtJbnB1dHMoKTtcbiAgICB0aGlzLl9pbml0TGluaygpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICBvcGVuQXJ0aWNsZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIC8vIENvbnZlcnQgdGhlIEtPIGxpbmsgaW50byB0aGUgd2lkZ2V0IGxpbmtcbiAgICBsZXQgd2lkZ2V0SHJlZjtcbiAgICBpZiAodGhpcy5rbm93bGVkZ2VPd2xMaW5rLmluY2x1ZGVzKCcjJykpIHtcbiAgICAgIGNvbnN0IHdpZGdldGxpbmsgPSB0aGlzLmtub3dsZWRnZU93bExpbmsuc3BsaXQoJyMnKTtcbiAgICAgIGNvbnN0IHdpZGdldGxpbmsxID1cbiAgICAgICAgd2lkZ2V0bGlua1swXS5yZXBsYWNlKCcvaGVscC8nLCAnL2hlbHAvZmV0Y2gtYXJ0aWNsZS9oYXNoLycpICtcbiAgICAgICAgJz93aWRnZXQ9dHJ1ZSc7XG4gICAgICBjb25zdCB3aWRnZXRsaW5rMiA9ICcjJyArIHdpZGdldGxpbmtbMV07XG4gICAgICB3aWRnZXRIcmVmID0gd2lkZ2V0bGluazEuY29uY2F0KHdpZGdldGxpbmsyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgd2lkZ2V0SHJlZiA9XG4gICAgICAgIHRoaXMua25vd2xlZGdlT3dsTGluay5yZXBsYWNlKCcvaGVscC8nLCAnL2hlbHAvZmV0Y2gtYXJ0aWNsZS9oYXNoLycpICtcbiAgICAgICAgJz93aWRnZXQ9dHJ1ZSc7XG4gICAgfVxuXG4gICAgaWYgKHdpbmRvd1snX19rbzE2J10pIHtcbiAgICAgIC8vIFdhaXQgdW50aWwgd2lkZ2V0IGxvYWRzIGNvbXBsZXRlbHlcbiAgICAgIHdpbmRvd1snX19rbzE2J10ub3BlbkFydGljbGUod2lkZ2V0SHJlZik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFByaXZhdGUgbWV0aG9kc1xuICAgKi9cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSBsaW5rXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIF9pbml0TGluaygpIHtcbiAgICB0aGlzLmtub3dsZWRnZU93bExpbmsgPSBgJHt0aGlzLnByb2plY3RVUkx9L2hlbHAvJHt0aGlzLmtub3dsZWRnZU93bExpbmt9YDsgLy8gVXBkYXRpbmcgYXJ0aWNsZSBsaW5rIHRvIGhhdmUgY29tcGxldGUgVVJMXG4gICAgY29uc3QgbmF0aXZlRWxlbWVudCA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKTtcbiAgICBpZiAobmF0aXZlRWxlbWVudC50YWdOYW1lID09PSAnQScpIHtcbiAgICAgIC8vIFVwZGF0aW5nIGxpbmsgZm9yIDxhPlxuICAgICAgbmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2hyZWYnLCB0aGlzLmtub3dsZWRnZU93bExpbmspO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgYWxsIHJlcXVpcmVkIGlucHV0cyBvZiBrbm93bGVkZ2Utb3dsLWxpbmtcbiAgICpcbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgX3ZhbGlkYXRlTGlua0lucHV0cygpIHtcbiAgICB0aGlzLl92YWxpZGF0ZUFydGljbGVQcmVzZW5jZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlcyBwcmVzZW5jZSBvZiBhcnRpY2xlIFVSTCBmb3IgbGlua1xuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBfdmFsaWRhdGVBcnRpY2xlUHJlc2VuY2UoKSB7XG4gICAgaWYgKCF0aGlzLmtub3dsZWRnZU93bExpbmspIHtcbiAgICAgIHRocm93IGdldEtub3dsZWRnZUxpbmtBcnRpY2xlTWlzc2luZ0Vycm9yKCk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Inject, Input, ViewEncapsulation, } from '@angular/core';
|
|
2
|
-
import { getKnowledgeWidgetPoductKeyMissingError, getKnowledgeWidgetInvalidProductURLError, } from './knowledge-owl-widget-errors';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
/** Regex to validate article URL is valid or not */
|
|
5
|
-
const urlValidatorRegex = /(http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;
|
|
6
|
-
export class KnowledgeOwlWidget {
|
|
7
|
-
constructor(projectURL) {
|
|
8
|
-
this.projectURL = projectURL;
|
|
9
|
-
/** Flag to check initial page location updated */
|
|
10
|
-
this.isPageLocationUpdated = false;
|
|
11
|
-
}
|
|
12
|
-
set pageLocation(value) {
|
|
13
|
-
this._pageLocation = value.trim();
|
|
14
|
-
this._updatePageLocation();
|
|
15
|
-
}
|
|
16
|
-
get pageLocation() {
|
|
17
|
-
return this._pageLocation;
|
|
18
|
-
}
|
|
19
|
-
ngOnInit() {
|
|
20
|
-
this._initWidget();
|
|
21
|
-
this._loadScript();
|
|
22
|
-
}
|
|
23
|
-
ngAfterContentInit() {
|
|
24
|
-
this._validateWidgetInputs();
|
|
25
|
-
this._initPageLocation();
|
|
26
|
-
}
|
|
27
|
-
/** Opens the widget. */
|
|
28
|
-
open(article = '') {
|
|
29
|
-
if (!window['__ko16']) {
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
if (article) {
|
|
33
|
-
const widgetHref = `${this.projectURL}/help/fetch-article/hash/${article}`;
|
|
34
|
-
window['__ko16'].openArticle(widgetHref);
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
window['__ko16']._toggleOpen();
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Validates the widget's inputs.
|
|
42
|
-
*
|
|
43
|
-
* @private
|
|
44
|
-
*/
|
|
45
|
-
_validateWidgetInputs() {
|
|
46
|
-
this._validateProductURL();
|
|
47
|
-
this._validateProductKey();
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Private methods
|
|
51
|
-
*/
|
|
52
|
-
/**
|
|
53
|
-
* Throws an error if the productKey input is missing.
|
|
54
|
-
*
|
|
55
|
-
* @private
|
|
56
|
-
*/
|
|
57
|
-
_validateProductKey() {
|
|
58
|
-
if (!this.projectKey) {
|
|
59
|
-
throw getKnowledgeWidgetPoductKeyMissingError();
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Throws an error if the productURL input is missing.
|
|
64
|
-
*
|
|
65
|
-
* @private
|
|
66
|
-
*/
|
|
67
|
-
_validateProductURL() {
|
|
68
|
-
if (!this.projectURL || !urlValidatorRegex.test(this.projectURL)) {
|
|
69
|
-
throw getKnowledgeWidgetInvalidProductURLError();
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Initializes the widget.
|
|
74
|
-
*
|
|
75
|
-
* @private
|
|
76
|
-
*/
|
|
77
|
-
_initWidget() {
|
|
78
|
-
const ko16p = [];
|
|
79
|
-
ko16p.push(['_setProject', this.projectKey]);
|
|
80
|
-
window['_ko16_p'] = ko16p;
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Loads script into page
|
|
84
|
-
*
|
|
85
|
-
* @private
|
|
86
|
-
*/
|
|
87
|
-
_loadScript() {
|
|
88
|
-
const ko = document.createElement('script');
|
|
89
|
-
ko.type = 'text/javascript';
|
|
90
|
-
ko.async = true;
|
|
91
|
-
ko.src = `${this.projectURL}/javascript/ko-index?__pc=${this.projectKey}`;
|
|
92
|
-
document.head.appendChild(ko);
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* Init page location first time
|
|
96
|
-
*/
|
|
97
|
-
_initPageLocation() {
|
|
98
|
-
const updatePageLocationInterval = setInterval(() => {
|
|
99
|
-
if (!this.pageLocation || this.isPageLocationUpdated) {
|
|
100
|
-
clearInterval(updatePageLocationInterval);
|
|
101
|
-
}
|
|
102
|
-
if (!this.isPageLocationUpdated &&
|
|
103
|
-
window['__ko16'] &&
|
|
104
|
-
this.pageLocation) {
|
|
105
|
-
// Updating page location once
|
|
106
|
-
window['__ko16'].updatePageLoc(this.pageLocation);
|
|
107
|
-
this.isPageLocationUpdated = true;
|
|
108
|
-
}
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* Update page location on change
|
|
113
|
-
*
|
|
114
|
-
* @private
|
|
115
|
-
*/
|
|
116
|
-
_updatePageLocation() {
|
|
117
|
-
if (!window['__ko16'] || !this.pageLocation) {
|
|
118
|
-
return;
|
|
119
|
-
}
|
|
120
|
-
window['__ko16'].updatePageLoc(this.pageLocation);
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
KnowledgeOwlWidget.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: KnowledgeOwlWidget, deps: [{ token: 'KOProjectURL' }], target: i0.ɵɵFactoryTarget.Component });
|
|
124
|
-
KnowledgeOwlWidget.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: KnowledgeOwlWidget, selector: "knowledge-owl-widget", inputs: { projectKey: "projectKey", pageLocation: "pageLocation" }, providers: [], exportAs: ["knowledgeOwlWidget"], ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
125
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: KnowledgeOwlWidget, decorators: [{
|
|
126
|
-
type: Component,
|
|
127
|
-
args: [{
|
|
128
|
-
selector: 'knowledge-owl-widget',
|
|
129
|
-
template: '',
|
|
130
|
-
encapsulation: ViewEncapsulation.None,
|
|
131
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
132
|
-
exportAs: 'knowledgeOwlWidget',
|
|
133
|
-
providers: [],
|
|
134
|
-
}]
|
|
135
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
136
|
-
type: Inject,
|
|
137
|
-
args: ['KOProjectURL']
|
|
138
|
-
}] }]; }, propDecorators: { projectKey: [{
|
|
139
|
-
type: Input
|
|
140
|
-
}], pageLocation: [{
|
|
141
|
-
type: Input
|
|
142
|
-
}] } });
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia25vd2xlZGdlLW93bC13aWRnZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2tub3dsZWRnZS1vd2wtd2lkZ2V0L2tub3dsZWRnZS1vd2wtd2lkZ2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBRUwsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCx1Q0FBdUMsRUFDdkMsd0NBQXdDLEdBQ3pDLE1BQU0sK0JBQStCLENBQUM7O0FBRXZDLG9EQUFvRDtBQUNwRCxNQUFNLGlCQUFpQixHQUNyQiwrRUFBK0UsQ0FBQztBQVVsRixNQUFNLE9BQU8sa0JBQWtCO0lBbUI3QixZQUE0QyxVQUFrQjtRQUFsQixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBbEI5RCxrREFBa0Q7UUFDbEQsMEJBQXFCLEdBQUcsS0FBSyxDQUFDO0lBaUJtQyxDQUFDO0lBVGxFLElBQWEsWUFBWSxDQUFDLEtBQWE7UUFDckMsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBSUQsUUFBUTtRQUNOLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsd0JBQXdCO0lBQ3hCLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMs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LFFBQVEsRUFBRSxFQUFFO29CQUNaLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsU0FBUyxFQUFFLEVBQUU7aUJBQ2Q7OzBCQW9CYyxNQUFNOzJCQUFDLGNBQWM7NENBYmxDLFVBQVU7c0JBRFQsS0FBSztnQkFLTyxZQUFZO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBnZXRLbm93bGVkZ2VXaWRnZXRQb2R1Y3RLZXlNaXNzaW5nRXJyb3IsXG4gIGdldEtub3dsZWRnZVdpZGdldEludmFsaWRQcm9kdWN0VVJMRXJyb3IsXG59IGZyb20gJy4va25vd2xlZGdlLW93bC13aWRnZXQtZXJyb3JzJztcblxuLyoqIFJlZ2V4IHRvIHZhbGlkYXRlIGFydGljbGUgVVJMIGlzIHZhbGlkIG9yIG5vdCAqL1xuY29uc3QgdXJsVmFsaWRhdG9yUmVnZXggPVxuICAvKGh0dHB8aHR0cHMpOlxcL1xcLyhcXHcrOnswLDF9XFx3KkApPyhcXFMrKSg6WzAtOV0rKT8oXFwvfFxcLyhbXFx3IyE6Lj8rPSYlQCFcXC1cXC9dKSk/LztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAna25vd2xlZGdlLW93bC13aWRnZXQnLFxuICB0ZW1wbGF0ZTogJycsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBleHBvcnRBczogJ2tub3dsZWRnZU93bFdpZGdldCcsXG4gIHByb3ZpZGVyczogW10sXG59KVxuZXhwb3J0IGNsYXNzIEtub3dsZWRnZU93bFdpZGdldCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIC8qKiBGbGFnIHRvIGNoZWNrIGluaXRpYWwgcGFnZSBsb2NhdGlvbiB1cGRhdGVkICovXG4gIGlzUGFnZUxvY2F0aW9uVXBkYXRlZCA9IGZhbHNlO1xuXG4gIC8qKiBQcm9kdWN0IGtleSB0byBhY2Nlc3MgS25vd2xlZGdlT3dsIHdpZGdldC4gKi9cbiAgQElucHV0KClcbiAgcHJvamVjdEtleTogc3RyaW5nO1xuXG4gIC8qKiBDdXJyZW50IHBhZ2UgbG9jYXRpb24gZm9yIHdpZGdldCBjb250ZXh0LiAqL1xuICBwcml2YXRlIF9wYWdlTG9jYXRpb246IHN0cmluZztcbiAgQElucHV0KCkgc2V0IHBhZ2VMb2NhdGlvbih2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fcGFnZUxvY2F0aW9uID0gdmFsdWUudHJpbSgpO1xuICAgIHRoaXMuX3VwZGF0ZVBhZ2VMb2NhdGlvbigpO1xuICB9XG5cbiAgZ2V0IHBhZ2VMb2NhdGlvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9wYWdlTG9jYXRpb247XG4gIH1cblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KCdLT1Byb2plY3RVUkwnKSBwcml2YXRlIHByb2plY3RVUkw6IHN0cmluZykge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9pbml0V2lkZ2V0KCk7XG4gICAgdGhpcy5fbG9hZFNjcmlwdCgpO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX3ZhbGlkYXRlV2lkZ2V0SW5wdXRzKCk7XG4gICAgdGhpcy5faW5pdFBhZ2VMb2NhdGlvbigpO1xuICB9XG5cbiAgLyoqIE9wZW5zIHRoZSB3aWRnZXQuICovXG4gIG9wZW4oYXJ0aWNsZSA9ICcnKTogdm9pZCB7XG4gICAgaWYgKCF3aW5kb3dbJ19fa28xNiddKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChhcnRpY2xlKSB7XG4gICAgICBjb25zdCB3aWRnZXRIcmVmID0gYCR7dGhpcy5wcm9qZWN0VVJMfS9oZWxwL2ZldGNoLWFydGljbGUvaGFzaC8ke2FydGljbGV9YDtcbiAgICAgIHdpbmRvd1snX19rbzE2J10ub3BlbkFydGljbGUod2lkZ2V0SHJlZik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHdpbmRvd1snX19rbzE2J10uX3RvZ2dsZU9wZW4oKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGVzIHRoZSB3aWRnZXQncyBpbnB1dHMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcm90ZWN0ZWQgX3ZhbGlkYXRlV2lkZ2V0SW5wdXRzKCk6IHZvaWQge1xuICAgIHRoaXMuX3ZhbGlkYXRlUHJvZHVjdFVSTCgpO1xuICAgIHRoaXMuX3ZhbGlkYXRlUHJvZHVjdEtleSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFByaXZhdGUgbWV0aG9kc1xuICAgKi9cblxuICAvKipcbiAgICogVGhyb3dzIGFuIGVycm9yIGlmIHRoZSBwcm9kdWN0S2V5IGlucHV0IGlzIG1pc3NpbmcuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIF92YWxpZGF0ZVByb2R1Y3RLZXkoKSB7XG4gICAgaWYgKCF0aGlzLnByb2plY3RLZXkpIHtcbiAgICAgIHRocm93IGdldEtub3dsZWRnZVdpZGdldFBvZHVjdEtleU1pc3NpbmdFcnJvcigpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUaHJvd3MgYW4gZXJyb3IgaWYgdGhlIHByb2R1Y3RVUkwgaW5wdXQgaXMgbWlzc2luZy5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgX3ZhbGlkYXRlUHJvZHVjdFVSTCgpIHtcbiAgICBpZiAoIXRoaXMucHJvamVjdFVSTCB8fCAhdXJsVmFsaWRhdG9yUmVnZXgudGVzdCh0aGlzLnByb2plY3RVUkwpKSB7XG4gICAgICB0aHJvdyBnZXRLbm93bGVkZ2VXaWRnZXRJbnZhbGlkUHJvZHVjdFVSTEVycm9yKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemVzIHRoZSB3aWRnZXQuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIF9pbml0V2lkZ2V0KCkge1xuICAgIGNvbnN0IGtvMTZwID0gW107XG4gICAga28xNnAucHVzaChbJ19zZXRQcm9qZWN0JywgdGhpcy5wcm9qZWN0S2V5XSk7XG4gICAgd2luZG93Wydfa28xNl9wJ10gPSBrbzE2cDtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2FkcyBzY3JpcHQgaW50byBwYWdlXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIF9sb2FkU2NyaXB0KCkge1xuICAgIGNvbnN0IGtvID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAga28udHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnO1xuICAgIGtvLmFzeW5jID0gdHJ1ZTtcbiAgICBrby5zcmMgPSBgJHt0aGlzLnByb2plY3RVUkx9L2phdmFzY3JpcHQva28taW5kZXg/X19wYz0ke3RoaXMucHJvamVjdEtleX1gO1xuICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoa28pO1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXQgcGFnZSBsb2NhdGlvbiBmaXJzdCB0aW1lXG4gICAqL1xuICBwcml2YXRlIF9pbml0UGFnZUxvY2F0aW9uKCkge1xuICAgIGNvbnN0IHVwZGF0ZVBhZ2VMb2NhdGlvbkludGVydmFsID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLnBhZ2VMb2NhdGlvbiB8fCB0aGlzLmlzUGFnZUxvY2F0aW9uVXBkYXRlZCkge1xuICAgICAgICBjbGVhckludGVydmFsKHVwZGF0ZVBhZ2VMb2NhdGlvbkludGVydmFsKTtcbiAgICAgIH1cbiAgICAgIGlmIChcbiAgICAgICAgIXRoaXMuaXNQYWdlTG9jYXRpb25VcGRhdGVkICYmXG4gICAgICAgIHdpbmRvd1snX19rbzE2J10gJiZcbiAgICAgICAgdGhpcy5wYWdlTG9jYXRpb25cbiAgICAgICkge1xuICAgICAgICAvLyBVcGRhdGluZyBwYWdlIGxvY2F0aW9uIG9uY2VcbiAgICAgICAgd2luZG93WydfX2tvMTYnXS51cGRhdGVQYWdlTG9jKHRoaXMucGFnZUxvY2F0aW9uKTtcbiAgICAgICAgdGhpcy5pc1BhZ2VMb2NhdGlvblVwZGF0ZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBwYWdlIGxvY2F0aW9uIG9uIGNoYW5nZVxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBfdXBkYXRlUGFnZUxvY2F0aW9uKCkge1xuICAgIGlmICghd2luZG93WydfX2tvMTYnXSB8fCAhdGhpcy5wYWdlTG9jYXRpb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgd2luZG93WydfX2tvMTYnXS51cGRhdGVQYWdlTG9jKHRoaXMucGFnZUxvY2F0aW9uKTtcbiAgfVxufVxuIl19
|
|
@@ -1,279 +0,0 @@
|
|
|
1
|
-
import * as i0 from '@angular/core';
|
|
2
|
-
import { Component, ViewEncapsulation, ChangeDetectionStrategy, Inject, Input, NgModule, Directive, HostListener } from '@angular/core';
|
|
3
|
-
import { CommonModule } from '@angular/common';
|
|
4
|
-
|
|
5
|
-
/** @docs-private */
|
|
6
|
-
const getKnowledgeWidgetPoductKeyMissingError = () => Error('knowledge-owl-widget requires product key as input.');
|
|
7
|
-
const getKnowledgeWidgetInvalidProductURLError = () => Error('knowledge-owl-widget requires valid product URL as provider.');
|
|
8
|
-
|
|
9
|
-
/** Regex to validate article URL is valid or not */
|
|
10
|
-
const urlValidatorRegex = /(http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;
|
|
11
|
-
class KnowledgeOwlWidget {
|
|
12
|
-
constructor(projectURL) {
|
|
13
|
-
this.projectURL = projectURL;
|
|
14
|
-
/** Flag to check initial page location updated */
|
|
15
|
-
this.isPageLocationUpdated = false;
|
|
16
|
-
}
|
|
17
|
-
set pageLocation(value) {
|
|
18
|
-
this._pageLocation = value.trim();
|
|
19
|
-
this._updatePageLocation();
|
|
20
|
-
}
|
|
21
|
-
get pageLocation() {
|
|
22
|
-
return this._pageLocation;
|
|
23
|
-
}
|
|
24
|
-
ngOnInit() {
|
|
25
|
-
this._initWidget();
|
|
26
|
-
this._loadScript();
|
|
27
|
-
}
|
|
28
|
-
ngAfterContentInit() {
|
|
29
|
-
this._validateWidgetInputs();
|
|
30
|
-
this._initPageLocation();
|
|
31
|
-
}
|
|
32
|
-
/** Opens the widget. */
|
|
33
|
-
open(article = '') {
|
|
34
|
-
if (!window['__ko16']) {
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
if (article) {
|
|
38
|
-
const widgetHref = `${this.projectURL}/help/fetch-article/hash/${article}`;
|
|
39
|
-
window['__ko16'].openArticle(widgetHref);
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
window['__ko16']._toggleOpen();
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Validates the widget's inputs.
|
|
47
|
-
*
|
|
48
|
-
* @private
|
|
49
|
-
*/
|
|
50
|
-
_validateWidgetInputs() {
|
|
51
|
-
this._validateProductURL();
|
|
52
|
-
this._validateProductKey();
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Private methods
|
|
56
|
-
*/
|
|
57
|
-
/**
|
|
58
|
-
* Throws an error if the productKey input is missing.
|
|
59
|
-
*
|
|
60
|
-
* @private
|
|
61
|
-
*/
|
|
62
|
-
_validateProductKey() {
|
|
63
|
-
if (!this.projectKey) {
|
|
64
|
-
throw getKnowledgeWidgetPoductKeyMissingError();
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Throws an error if the productURL input is missing.
|
|
69
|
-
*
|
|
70
|
-
* @private
|
|
71
|
-
*/
|
|
72
|
-
_validateProductURL() {
|
|
73
|
-
if (!this.projectURL || !urlValidatorRegex.test(this.projectURL)) {
|
|
74
|
-
throw getKnowledgeWidgetInvalidProductURLError();
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Initializes the widget.
|
|
79
|
-
*
|
|
80
|
-
* @private
|
|
81
|
-
*/
|
|
82
|
-
_initWidget() {
|
|
83
|
-
const ko16p = [];
|
|
84
|
-
ko16p.push(['_setProject', this.projectKey]);
|
|
85
|
-
window['_ko16_p'] = ko16p;
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* Loads script into page
|
|
89
|
-
*
|
|
90
|
-
* @private
|
|
91
|
-
*/
|
|
92
|
-
_loadScript() {
|
|
93
|
-
const ko = document.createElement('script');
|
|
94
|
-
ko.type = 'text/javascript';
|
|
95
|
-
ko.async = true;
|
|
96
|
-
ko.src = `${this.projectURL}/javascript/ko-index?__pc=${this.projectKey}`;
|
|
97
|
-
document.head.appendChild(ko);
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Init page location first time
|
|
101
|
-
*/
|
|
102
|
-
_initPageLocation() {
|
|
103
|
-
const updatePageLocationInterval = setInterval(() => {
|
|
104
|
-
if (!this.pageLocation || this.isPageLocationUpdated) {
|
|
105
|
-
clearInterval(updatePageLocationInterval);
|
|
106
|
-
}
|
|
107
|
-
if (!this.isPageLocationUpdated &&
|
|
108
|
-
window['__ko16'] &&
|
|
109
|
-
this.pageLocation) {
|
|
110
|
-
// Updating page location once
|
|
111
|
-
window['__ko16'].updatePageLoc(this.pageLocation);
|
|
112
|
-
this.isPageLocationUpdated = true;
|
|
113
|
-
}
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* Update page location on change
|
|
118
|
-
*
|
|
119
|
-
* @private
|
|
120
|
-
*/
|
|
121
|
-
_updatePageLocation() {
|
|
122
|
-
if (!window['__ko16'] || !this.pageLocation) {
|
|
123
|
-
return;
|
|
124
|
-
}
|
|
125
|
-
window['__ko16'].updatePageLoc(this.pageLocation);
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
KnowledgeOwlWidget.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: KnowledgeOwlWidget, deps: [{ token: 'KOProjectURL' }], target: i0.ɵɵFactoryTarget.Component });
|
|
129
|
-
KnowledgeOwlWidget.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: KnowledgeOwlWidget, selector: "knowledge-owl-widget", inputs: { projectKey: "projectKey", pageLocation: "pageLocation" }, providers: [], exportAs: ["knowledgeOwlWidget"], ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
130
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: KnowledgeOwlWidget, decorators: [{
|
|
131
|
-
type: Component,
|
|
132
|
-
args: [{
|
|
133
|
-
selector: 'knowledge-owl-widget',
|
|
134
|
-
template: '',
|
|
135
|
-
encapsulation: ViewEncapsulation.None,
|
|
136
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
137
|
-
exportAs: 'knowledgeOwlWidget',
|
|
138
|
-
providers: [],
|
|
139
|
-
}]
|
|
140
|
-
}], ctorParameters: function () {
|
|
141
|
-
return [{ type: undefined, decorators: [{
|
|
142
|
-
type: Inject,
|
|
143
|
-
args: ['KOProjectURL']
|
|
144
|
-
}] }];
|
|
145
|
-
}, propDecorators: { projectKey: [{
|
|
146
|
-
type: Input
|
|
147
|
-
}], pageLocation: [{
|
|
148
|
-
type: Input
|
|
149
|
-
}] } });
|
|
150
|
-
|
|
151
|
-
class KnowledgeOwlWidgetModule {
|
|
152
|
-
}
|
|
153
|
-
KnowledgeOwlWidgetModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: KnowledgeOwlWidgetModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
154
|
-
KnowledgeOwlWidgetModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: KnowledgeOwlWidgetModule, declarations: [KnowledgeOwlWidget], imports: [CommonModule], exports: [KnowledgeOwlWidget] });
|
|
155
|
-
KnowledgeOwlWidgetModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: KnowledgeOwlWidgetModule, imports: [CommonModule] });
|
|
156
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: KnowledgeOwlWidgetModule, decorators: [{
|
|
157
|
-
type: NgModule,
|
|
158
|
-
args: [{
|
|
159
|
-
imports: [CommonModule],
|
|
160
|
-
exports: [KnowledgeOwlWidget],
|
|
161
|
-
declarations: [KnowledgeOwlWidget],
|
|
162
|
-
providers: [],
|
|
163
|
-
}]
|
|
164
|
-
}] });
|
|
165
|
-
|
|
166
|
-
/** @docs-private */
|
|
167
|
-
const getKnowledgeLinkArticleMissingError = () => Error('knowledge-owl-link requires article URL as input.');
|
|
168
|
-
|
|
169
|
-
/**
|
|
170
|
-
* Knowledge Owl Link
|
|
171
|
-
*/
|
|
172
|
-
class KnowledgeOwlLink {
|
|
173
|
-
constructor(elementRef, projectURL) {
|
|
174
|
-
this.elementRef = elementRef;
|
|
175
|
-
this.projectURL = projectURL;
|
|
176
|
-
}
|
|
177
|
-
getHostElement() {
|
|
178
|
-
return this.elementRef.nativeElement;
|
|
179
|
-
}
|
|
180
|
-
ngAfterContentInit() {
|
|
181
|
-
this._validateLinkInputs();
|
|
182
|
-
this._initLink();
|
|
183
|
-
}
|
|
184
|
-
openArticle(event) {
|
|
185
|
-
event.preventDefault();
|
|
186
|
-
// Convert the KO link into the widget link
|
|
187
|
-
let widgetHref;
|
|
188
|
-
if (this.knowledgeOwlLink.includes('#')) {
|
|
189
|
-
const widgetlink = this.knowledgeOwlLink.split('#');
|
|
190
|
-
const widgetlink1 = widgetlink[0].replace('/help/', '/help/fetch-article/hash/') +
|
|
191
|
-
'?widget=true';
|
|
192
|
-
const widgetlink2 = '#' + widgetlink[1];
|
|
193
|
-
widgetHref = widgetlink1.concat(widgetlink2);
|
|
194
|
-
}
|
|
195
|
-
else {
|
|
196
|
-
widgetHref =
|
|
197
|
-
this.knowledgeOwlLink.replace('/help/', '/help/fetch-article/hash/') +
|
|
198
|
-
'?widget=true';
|
|
199
|
-
}
|
|
200
|
-
if (window['__ko16']) {
|
|
201
|
-
// Wait until widget loads completely
|
|
202
|
-
window['__ko16'].openArticle(widgetHref);
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
/**
|
|
206
|
-
* Private methods
|
|
207
|
-
*/
|
|
208
|
-
/**
|
|
209
|
-
* Initialize link
|
|
210
|
-
*
|
|
211
|
-
* @private
|
|
212
|
-
*/
|
|
213
|
-
_initLink() {
|
|
214
|
-
this.knowledgeOwlLink = `${this.projectURL}/help/${this.knowledgeOwlLink}`; // Updating article link to have complete URL
|
|
215
|
-
const nativeElement = this.getHostElement();
|
|
216
|
-
if (nativeElement.tagName === 'A') {
|
|
217
|
-
// Updating link for <a>
|
|
218
|
-
nativeElement.setAttribute('href', this.knowledgeOwlLink);
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
/**
|
|
222
|
-
* Validates all required inputs of knowledge-owl-link
|
|
223
|
-
*
|
|
224
|
-
* @private
|
|
225
|
-
*/
|
|
226
|
-
_validateLinkInputs() {
|
|
227
|
-
this._validateArticlePresence();
|
|
228
|
-
}
|
|
229
|
-
/**
|
|
230
|
-
* Validates presence of article URL for link
|
|
231
|
-
*
|
|
232
|
-
* @private
|
|
233
|
-
*/
|
|
234
|
-
_validateArticlePresence() {
|
|
235
|
-
if (!this.knowledgeOwlLink) {
|
|
236
|
-
throw getKnowledgeLinkArticleMissingError();
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
KnowledgeOwlLink.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: KnowledgeOwlLink, deps: [{ token: i0.ElementRef }, { token: 'KOProjectURL' }], target: i0.ɵɵFactoryTarget.Directive });
|
|
241
|
-
KnowledgeOwlLink.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: KnowledgeOwlLink, selector: "a[knowledgeOwlLink]", inputs: { knowledgeOwlLink: "knowledgeOwlLink" }, host: { listeners: { "click": "openArticle($event)" } }, exportAs: ["knowledgeOwlLink"], ngImport: i0 });
|
|
242
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: KnowledgeOwlLink, decorators: [{
|
|
243
|
-
type: Directive,
|
|
244
|
-
args: [{
|
|
245
|
-
selector: `a[knowledgeOwlLink]`,
|
|
246
|
-
exportAs: 'knowledgeOwlLink',
|
|
247
|
-
}]
|
|
248
|
-
}], ctorParameters: function () {
|
|
249
|
-
return [{ type: i0.ElementRef }, { type: undefined, decorators: [{
|
|
250
|
-
type: Inject,
|
|
251
|
-
args: ['KOProjectURL']
|
|
252
|
-
}] }];
|
|
253
|
-
}, propDecorators: { knowledgeOwlLink: [{
|
|
254
|
-
type: Input
|
|
255
|
-
}], openArticle: [{
|
|
256
|
-
type: HostListener,
|
|
257
|
-
args: ['click', ['$event']]
|
|
258
|
-
}] } });
|
|
259
|
-
|
|
260
|
-
class KnowledgeOwlLinkModule {
|
|
261
|
-
}
|
|
262
|
-
KnowledgeOwlLinkModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: KnowledgeOwlLinkModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
263
|
-
KnowledgeOwlLinkModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: KnowledgeOwlLinkModule, declarations: [KnowledgeOwlLink], imports: [CommonModule], exports: [KnowledgeOwlLink] });
|
|
264
|
-
KnowledgeOwlLinkModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: KnowledgeOwlLinkModule, imports: [CommonModule] });
|
|
265
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: KnowledgeOwlLinkModule, decorators: [{
|
|
266
|
-
type: NgModule,
|
|
267
|
-
args: [{
|
|
268
|
-
imports: [CommonModule],
|
|
269
|
-
exports: [KnowledgeOwlLink],
|
|
270
|
-
declarations: [KnowledgeOwlLink],
|
|
271
|
-
}]
|
|
272
|
-
}] });
|
|
273
|
-
|
|
274
|
-
/**
|
|
275
|
-
* Generated bundle index. Do not edit.
|
|
276
|
-
*/
|
|
277
|
-
|
|
278
|
-
export { KnowledgeOwlLink, KnowledgeOwlLinkModule, KnowledgeOwlWidget, KnowledgeOwlWidgetModule };
|
|
279
|
-
//# sourceMappingURL=oncehub-knowledgeowl-angular.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"oncehub-knowledgeowl-angular.mjs","sources":["../../../src/lib/knowledge-owl-widget/knowledge-owl-widget-errors.ts","../../../src/lib/knowledge-owl-widget/knowledge-owl-widget.ts","../../../src/lib/knowledge-owl-widget/knowledge-owl-widget-module.ts","../../../src/lib/knowledge-owl-link/knowledge-owl-widget-errors.ts","../../../src/lib/knowledge-owl-link/knowledge-owl-link.ts","../../../src/lib/knowledge-owl-link/knowledge-owl-link-module.ts","../../../src/oncehub-knowledgeowl-angular.ts"],"sourcesContent":["/** @docs-private */\nexport const getKnowledgeWidgetPoductKeyMissingError = (): Error =>\n Error('knowledge-owl-widget requires product key as input.');\n\nexport const getKnowledgeWidgetInvalidProductURLError = (): Error =>\n Error('knowledge-owl-widget requires valid product URL as provider.');\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n Inject,\n Input,\n OnInit,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n getKnowledgeWidgetPoductKeyMissingError,\n getKnowledgeWidgetInvalidProductURLError,\n} from './knowledge-owl-widget-errors';\n\n/** Regex to validate article URL is valid or not */\nconst urlValidatorRegex =\n /(http|https):\\/\\/(\\w+:{0,1}\\w*@)?(\\S+)(:[0-9]+)?(\\/|\\/([\\w#!:.?+=&%@!\\-\\/]))?/;\n\n@Component({\n selector: 'knowledge-owl-widget',\n template: '',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: 'knowledgeOwlWidget',\n providers: [],\n})\nexport class KnowledgeOwlWidget implements OnInit, AfterContentInit {\n /** Flag to check initial page location updated */\n isPageLocationUpdated = false;\n\n /** Product key to access KnowledgeOwl widget. */\n @Input()\n projectKey: string;\n\n /** Current page location for widget context. */\n private _pageLocation: string;\n @Input() set pageLocation(value: string) {\n this._pageLocation = value.trim();\n this._updatePageLocation();\n }\n\n get pageLocation(): string {\n return this._pageLocation;\n }\n\n constructor(@Inject('KOProjectURL') private projectURL: string) {}\n\n ngOnInit(): void {\n this._initWidget();\n this._loadScript();\n }\n\n ngAfterContentInit(): void {\n this._validateWidgetInputs();\n this._initPageLocation();\n }\n\n /** Opens the widget. */\n open(article = ''): void {\n if (!window['__ko16']) {\n return;\n }\n if (article) {\n const widgetHref = `${this.projectURL}/help/fetch-article/hash/${article}`;\n window['__ko16'].openArticle(widgetHref);\n } else {\n window['__ko16']._toggleOpen();\n }\n }\n\n /**\n * Validates the widget's inputs.\n *\n * @private\n */\n protected _validateWidgetInputs(): void {\n this._validateProductURL();\n this._validateProductKey();\n }\n\n /**\n * Private methods\n */\n\n /**\n * Throws an error if the productKey input is missing.\n *\n * @private\n */\n private _validateProductKey() {\n if (!this.projectKey) {\n throw getKnowledgeWidgetPoductKeyMissingError();\n }\n }\n\n /**\n * Throws an error if the productURL input is missing.\n *\n * @private\n */\n private _validateProductURL() {\n if (!this.projectURL || !urlValidatorRegex.test(this.projectURL)) {\n throw getKnowledgeWidgetInvalidProductURLError();\n }\n }\n\n /**\n * Initializes the widget.\n *\n * @private\n */\n private _initWidget() {\n const ko16p = [];\n ko16p.push(['_setProject', this.projectKey]);\n window['_ko16_p'] = ko16p;\n }\n\n /**\n * Loads script into page\n *\n * @private\n */\n private _loadScript() {\n const ko = document.createElement('script');\n ko.type = 'text/javascript';\n ko.async = true;\n ko.src = `${this.projectURL}/javascript/ko-index?__pc=${this.projectKey}`;\n document.head.appendChild(ko);\n }\n\n /**\n * Init page location first time\n */\n private _initPageLocation() {\n const updatePageLocationInterval = setInterval(() => {\n if (!this.pageLocation || this.isPageLocationUpdated) {\n clearInterval(updatePageLocationInterval);\n }\n if (\n !this.isPageLocationUpdated &&\n window['__ko16'] &&\n this.pageLocation\n ) {\n // Updating page location once\n window['__ko16'].updatePageLoc(this.pageLocation);\n this.isPageLocationUpdated = true;\n }\n });\n }\n\n /**\n * Update page location on change\n *\n * @private\n */\n private _updatePageLocation() {\n if (!window['__ko16'] || !this.pageLocation) {\n return;\n }\n window['__ko16'].updatePageLoc(this.pageLocation);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { KnowledgeOwlWidget } from './knowledge-owl-widget';\n\n@NgModule({\n imports: [CommonModule],\n exports: [KnowledgeOwlWidget],\n declarations: [KnowledgeOwlWidget],\n providers: [],\n})\nexport class KnowledgeOwlWidgetModule {}\n","/** @docs-private */\nexport const getKnowledgeLinkArticleMissingError = (): Error =>\n Error('knowledge-owl-link requires article URL as input.');\n","import {\n AfterContentInit,\n ElementRef,\n HostListener,\n Inject,\n Input,\n Directive,\n} from '@angular/core';\nimport { getKnowledgeLinkArticleMissingError } from './knowledge-owl-widget-errors';\n\n/**\n * Knowledge Owl Link\n */\n@Directive({\n selector: `a[knowledgeOwlLink]`,\n exportAs: 'knowledgeOwlLink',\n})\nexport class KnowledgeOwlLink implements AfterContentInit {\n @Input()\n knowledgeOwlLink: string;\n\n constructor(\n protected elementRef: ElementRef,\n @Inject('KOProjectURL') private projectURL: string\n ) {}\n\n getHostElement(): HTMLElement {\n return this.elementRef.nativeElement;\n }\n\n ngAfterContentInit(): void {\n this._validateLinkInputs();\n this._initLink();\n }\n\n @HostListener('click', ['$event'])\n openArticle(event: Event): void {\n event.preventDefault();\n // Convert the KO link into the widget link\n let widgetHref;\n if (this.knowledgeOwlLink.includes('#')) {\n const widgetlink = this.knowledgeOwlLink.split('#');\n const widgetlink1 =\n widgetlink[0].replace('/help/', '/help/fetch-article/hash/') +\n '?widget=true';\n const widgetlink2 = '#' + widgetlink[1];\n widgetHref = widgetlink1.concat(widgetlink2);\n } else {\n widgetHref =\n this.knowledgeOwlLink.replace('/help/', '/help/fetch-article/hash/') +\n '?widget=true';\n }\n\n if (window['__ko16']) {\n // Wait until widget loads completely\n window['__ko16'].openArticle(widgetHref);\n }\n }\n\n /**\n * Private methods\n */\n\n /**\n * Initialize link\n *\n * @private\n */\n private _initLink() {\n this.knowledgeOwlLink = `${this.projectURL}/help/${this.knowledgeOwlLink}`; // Updating article link to have complete URL\n const nativeElement = this.getHostElement();\n if (nativeElement.tagName === 'A') {\n // Updating link for <a>\n nativeElement.setAttribute('href', this.knowledgeOwlLink);\n }\n }\n\n /**\n * Validates all required inputs of knowledge-owl-link\n *\n * @private\n */\n private _validateLinkInputs() {\n this._validateArticlePresence();\n }\n\n /**\n * Validates presence of article URL for link\n *\n * @private\n */\n private _validateArticlePresence() {\n if (!this.knowledgeOwlLink) {\n throw getKnowledgeLinkArticleMissingError();\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { KnowledgeOwlLink } from './knowledge-owl-link';\n\n@NgModule({\n imports: [CommonModule],\n exports: [KnowledgeOwlLink],\n declarations: [KnowledgeOwlLink],\n})\nexport class KnowledgeOwlLinkModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|