entcore 4.6.0-dev.1 → 4.6.0-dev.202210281154
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/bundle/ng-app.js +13 -13
- package/bundle/ng-app.js.map +1 -1
- package/dist/ng-app.js +456 -0
- package/dist/ng-app.js.map +1 -0
- package/{src → dist}/template/attachments.html +0 -0
- package/{src → dist}/template/calendar-default-display-options-template.html +0 -0
- package/{src → dist}/template/calendar.html +0 -0
- package/{src → dist}/template/carousel.html +0 -0
- package/{src → dist}/template/cgu-lightbox.html +0 -0
- package/{src → dist}/template/compression.html +0 -0
- package/{src → dist}/template/embedder.html +0 -0
- package/{src → dist}/template/file-picker-list/list.html +0 -0
- package/{src → dist}/template/file-picker-list/pick.html +0 -0
- package/{src → dist}/template/image-editor/blur.html +0 -0
- package/{src → dist}/template/image-editor/crop.html +0 -0
- package/{src → dist}/template/image-editor/main.html +0 -0
- package/{src → dist}/template/image-editor/properties.html +0 -0
- package/{src → dist}/template/image-editor/resize.html +0 -0
- package/{src → dist}/template/image-editor/rotate.html +0 -0
- package/{src → dist}/template/linker.html +0 -0
- package/{src → dist}/template/media-library/browse.html +0 -0
- package/{src → dist}/template/media-library/icons.html +0 -0
- package/{src → dist}/template/media-library/list.html +0 -0
- package/{src → dist}/template/media-library/loading.html +0 -0
- package/{src → dist}/template/media-library/main.html +0 -0
- package/{src → dist}/template/media-library/record.html +0 -0
- package/{src → dist}/template/media-library/upload.html +0 -0
- package/{src → dist}/template/media-library/virtual-media-library/virtual-media-content.html +0 -0
- package/{src → dist}/template/media-library/virtual-media-library/virtual-media-folder.html +0 -0
- package/{src → dist}/template/multi-combo.html +0 -0
- package/{src → dist}/template/recorder.html +0 -0
- package/{src → dist}/template/share-panel-table-mobile.html +0 -0
- package/{src → dist}/template/share-panel-table.html +0 -0
- package/{src → dist}/template/share-panel.html +0 -0
- package/{src → dist}/template/video/browse.html +0 -0
- package/{src → dist}/template/video/integration.html +0 -0
- package/{src → dist}/template/video/main.html +0 -0
- package/{src → dist}/template/video/onboarding.html +0 -0
- package/{src → dist}/template/video/record.html +0 -0
- package/{src → dist}/template/video/upload.html +0 -0
- package/{src → dist}/template/widgets.html +0 -0
- package/{src → dist}/template/wizard.html +0 -0
- package/gulpfile.js +51 -28
- package/package.json +27 -24
- package/types/src/ts/entcore.d.ts +1 -0
- package/types/src/ts/video/VideoController.d.ts +6 -0
- package/types/src/ts/video/index.d.ts +4 -0
- package/CHANGELOG.md +0 -185
- package/CONTRIBUTING.md +0 -53
- package/Jenkinsfile +0 -27
- package/bower.json +0 -30
- package/browsers.json +0 -40
- package/build.sh +0 -70
- package/docker-compose.yml +0 -16
- package/karma-base.conf.json +0 -49
- package/karma-compatibility.conf.js +0 -25
- package/karma.conf.js +0 -5
- package/src/ts/deps.d.ts +0 -52
- package/src/ts/directives/virtual-folder/README.md +0 -209
- package/src/ts/editor/matchers.d.ts +0 -6
- package/src/ts/libs/angular/angular.js +0 -11
- package/src/ts/libs/angular/angular.js.map +0 -1
- package/src/ts/libs/underscore/underscore.js +0 -8
- package/src/ts/libs/underscore/underscore.js.map +0 -1
- package/tsconfig.spec.json +0 -11
- package/wdio.conf.js +0 -44
- package/webpack-dev.config.js +0 -25
- package/webpack.config.js +0 -31
package/build.sh
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
|
|
3
|
-
if [ ! -e node_modules ]
|
|
4
|
-
then
|
|
5
|
-
mkdir node_modules
|
|
6
|
-
fi
|
|
7
|
-
|
|
8
|
-
if [ -z ${USER_UID:+x} ]
|
|
9
|
-
then
|
|
10
|
-
export USER_UID=1000
|
|
11
|
-
export GROUP_GID=1000
|
|
12
|
-
fi
|
|
13
|
-
|
|
14
|
-
# options
|
|
15
|
-
SPRINGBOARD="recette"
|
|
16
|
-
for i in "$@"
|
|
17
|
-
do
|
|
18
|
-
case $i in
|
|
19
|
-
-s=*|--springboard=*)
|
|
20
|
-
SPRINGBOARD="${i#*=}"
|
|
21
|
-
shift
|
|
22
|
-
;;
|
|
23
|
-
*)
|
|
24
|
-
;;
|
|
25
|
-
esac
|
|
26
|
-
done
|
|
27
|
-
|
|
28
|
-
build () {
|
|
29
|
-
local extras=$1
|
|
30
|
-
docker-compose run --rm -u "$USER_UID:$GROUP_GID" node sh -c "node_modules/gulp/bin/gulp.js build ${extras}"
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
install () {
|
|
34
|
-
docker-compose run --rm -u "$USER_UID:$GROUP_GID" node sh -c "npm install"
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
watch () {
|
|
38
|
-
docker-compose run --rm -u "$USER_UID:$GROUP_GID" node sh -c "node_modules/gulp/bin/gulp.js watch --springboard=/home/node/$SPRINGBOARD"
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
publish () {
|
|
42
|
-
LOCAL_BRANCH=`echo $GIT_BRANCH | sed -e "s|origin/||g"`
|
|
43
|
-
docker-compose run --rm -u "$USER_UID:$GROUP_GID" node sh -c "npm publish --tag $LOCAL_BRANCH"
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
for param in "$@"
|
|
47
|
-
do
|
|
48
|
-
case $param in
|
|
49
|
-
deps)
|
|
50
|
-
install
|
|
51
|
-
;;
|
|
52
|
-
build)
|
|
53
|
-
build
|
|
54
|
-
;;
|
|
55
|
-
install)
|
|
56
|
-
install && build "--springboard=/home/node/${SPRINGBOARD}"
|
|
57
|
-
;;
|
|
58
|
-
watch)
|
|
59
|
-
watch
|
|
60
|
-
;;
|
|
61
|
-
publish)
|
|
62
|
-
publish
|
|
63
|
-
;;
|
|
64
|
-
*)
|
|
65
|
-
echo "Invalid argument : $param"
|
|
66
|
-
esac
|
|
67
|
-
if [ ! $? -eq 0 ]; then
|
|
68
|
-
exit 1
|
|
69
|
-
fi
|
|
70
|
-
done
|
package/docker-compose.yml
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
gradle:
|
|
2
|
-
image: gradle:4.5-alpine
|
|
3
|
-
working_dir: /home/gradle/project
|
|
4
|
-
volumes:
|
|
5
|
-
- ./:/home/gradle/project
|
|
6
|
-
- ~/.m2:/home/gradle/.m2
|
|
7
|
-
- ~/.gradle:/home/gradle/.gradle
|
|
8
|
-
|
|
9
|
-
node:
|
|
10
|
-
image: opendigitaleducation/node:10-alpine
|
|
11
|
-
working_dir: /home/node/app
|
|
12
|
-
volumes:
|
|
13
|
-
- ./:/home/node/app
|
|
14
|
-
- ~/.npm:/.npm
|
|
15
|
-
- ../paris:/home/node/paris
|
|
16
|
-
- ../recette:/home/node/recette # TODO : rendre générique pour appliquer à tous les springboards
|
package/karma-base.conf.json
DELETED
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"basePath": "",
|
|
3
|
-
"files": [
|
|
4
|
-
"node_modules/jquery/dist/jquery.js",
|
|
5
|
-
"node_modules/mathjax/MathJax.js",
|
|
6
|
-
"node_modules/angular/angular.js",
|
|
7
|
-
"node_modules/angular-mocks/angular-mocks.js",
|
|
8
|
-
"node_modules/angular-route/angular-route.js",
|
|
9
|
-
"node_modules/angular-sanitize/angular-sanitize.js",
|
|
10
|
-
"src/ts/lib.ts",
|
|
11
|
-
"src/ts/ng-start.ts",
|
|
12
|
-
"src/ts/modelDefinitions.ts",
|
|
13
|
-
"src/ts/http.ts",
|
|
14
|
-
"src/ts/idiom.ts",
|
|
15
|
-
"src/ts/calendar.ts",
|
|
16
|
-
"src/ts/ui.ts",
|
|
17
|
-
"src/ts/me.ts",
|
|
18
|
-
"src/ts/skin.ts",
|
|
19
|
-
"src/ts/globals.ts",
|
|
20
|
-
"src/ts/notify.ts",
|
|
21
|
-
"src/ts/workspace/*.ts",
|
|
22
|
-
"src/ts/edumedia/*.ts",
|
|
23
|
-
"src/ts/behaviours.ts",
|
|
24
|
-
"src/ts/rights.ts",
|
|
25
|
-
"src/ts/toasts.ts",
|
|
26
|
-
"src/ts/entcore.ts",
|
|
27
|
-
"src/ts/sniplets.ts",
|
|
28
|
-
"src/ts/template.ts",
|
|
29
|
-
"src/ts/widget.ts",
|
|
30
|
-
"src/ts/libs/**/*.ts",
|
|
31
|
-
"src/ts/editor.ts",
|
|
32
|
-
"src/ts/editor.spec.ts",
|
|
33
|
-
"src/ts/editor/**/*.ts",
|
|
34
|
-
"src/ts/library/*.ts",
|
|
35
|
-
"src/ts/directives/userRole.ts",
|
|
36
|
-
"src/ts/directives/userRole.spec.ts"
|
|
37
|
-
],
|
|
38
|
-
"preprocessors": {
|
|
39
|
-
"src/**/*.ts": ["karma-typescript"]
|
|
40
|
-
},
|
|
41
|
-
|
|
42
|
-
"reporters": ["progress", "karma-typescript"],
|
|
43
|
-
"singleRun": false,
|
|
44
|
-
"frameworks": ["jasmine", "karma-typescript"],
|
|
45
|
-
"browsers": ["Chrome", "Firefox"],
|
|
46
|
-
"karmaTypescriptConfig": {
|
|
47
|
-
"tsconfig": "./tsconfig.spec.json"
|
|
48
|
-
}
|
|
49
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
const karmaBaseConf = require('./karma-base.conf');
|
|
2
|
-
const browsers = require('./browsers');
|
|
3
|
-
const customLaunchers = {};
|
|
4
|
-
|
|
5
|
-
browsers.forEach(browser => customLaunchers[browser.name] = {
|
|
6
|
-
base: 'BrowserStack',
|
|
7
|
-
browser: browser.browser,
|
|
8
|
-
os: browser.os,
|
|
9
|
-
os_version: browser.os_version,
|
|
10
|
-
browser_version: browser.browser_version
|
|
11
|
-
});
|
|
12
|
-
|
|
13
|
-
module.exports = function (config) {
|
|
14
|
-
const karmaCompatibilityConf = Object.assign({}, karmaBaseConf, {
|
|
15
|
-
browserStack: {
|
|
16
|
-
username: process.env.BROWSERSTACK_USERNAME,
|
|
17
|
-
accessKey: process.env.BROWSERSTACK_ACCESSKEY
|
|
18
|
-
},
|
|
19
|
-
customLaunchers,
|
|
20
|
-
browsers: Object.keys(customLaunchers),
|
|
21
|
-
singleRun: true
|
|
22
|
-
});
|
|
23
|
-
|
|
24
|
-
config.set(karmaCompatibilityConf)
|
|
25
|
-
};
|
package/karma.conf.js
DELETED
package/src/ts/deps.d.ts
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
// angular is loaded globally
|
|
2
|
-
declare let angular;
|
|
3
|
-
|
|
4
|
-
//webpack stuff
|
|
5
|
-
declare function require(path:string);
|
|
6
|
-
|
|
7
|
-
declare interface require{
|
|
8
|
-
ensure(modulesPaths: string[], cb: (modules) => void);
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
// allow parsing strings as int
|
|
12
|
-
declare function parseInt(data:any, radix?:number);
|
|
13
|
-
|
|
14
|
-
declare interface Range{
|
|
15
|
-
intersectsNode(item: HTMLElement): boolean;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
declare interface Blob{
|
|
19
|
-
name: string;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
declare interface Document{
|
|
23
|
-
caretRangeFromPoint(x: number, y: number);
|
|
24
|
-
caretPositionFromPoint(x: number, y: number);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
declare interface Xiti {
|
|
28
|
-
conf: any;
|
|
29
|
-
ATInternet: any;
|
|
30
|
-
ATTag: any;
|
|
31
|
-
structure: any;
|
|
32
|
-
run(path?: string): Promise<void>;
|
|
33
|
-
click(name: string, element: Element): Promise<void>;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
declare interface Window{
|
|
37
|
-
MathJax: any;
|
|
38
|
-
Prism: any;
|
|
39
|
-
entcore: any;
|
|
40
|
-
html_beautify: any;
|
|
41
|
-
jQuery: any;
|
|
42
|
-
notLoggedIn: boolean;
|
|
43
|
-
xiti: Xiti;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
declare interface Node{
|
|
47
|
-
innerHTML: string;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
declare interface Object{
|
|
51
|
-
toJSON(): string | {}
|
|
52
|
-
}
|
|
@@ -1,209 +0,0 @@
|
|
|
1
|
-
## Virtual Folder
|
|
2
|
-
|
|
3
|
-
Virtual Folder is an extension of Media-Library component in order to create your own virtual documents
|
|
4
|
-
if you wish to make it exportable to all apps.
|
|
5
|
-
|
|
6
|
-
Each Virtual Folder must be implemented by an App using Behaviours.
|
|
7
|
-
|
|
8
|
-
### 1. Requirement
|
|
9
|
-
|
|
10
|
-
Must add public configuration to Workspace App :
|
|
11
|
-
<pre>
|
|
12
|
-
## Workspace configuration
|
|
13
|
-
{
|
|
14
|
-
...
|
|
15
|
-
"config": {
|
|
16
|
-
...
|
|
17
|
-
"publicConf": {
|
|
18
|
-
"folder-service": ["appName", "appName2", ...]
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
</pre>
|
|
23
|
-
|
|
24
|
-
Note : `appName` (`or appName2`) must be written correctly in order to load their behaviours (e.g `Behaviours.load(appName)`)
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
## Implementation usage as an App
|
|
28
|
-
|
|
29
|
-
In your behaviours, you must add a field named `mediaLibraryService` (could be an object/class)
|
|
30
|
-
|
|
31
|
-
It should be accessible via `Behaviours.applicationsBehaviours[appName].mediaLibraryService`
|
|
32
|
-
|
|
33
|
-
`mediaLibraryService` must implement `VirtualMediaLibraryScope` as an object or class
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
### 1. Interface
|
|
37
|
-
|
|
38
|
-
This is the interface that each app must implement :
|
|
39
|
-
```
|
|
40
|
-
interface IVirtualMediaLibraryScope{
|
|
41
|
-
folders: Array<Document>;
|
|
42
|
-
|
|
43
|
-
documents: Array<Document>;
|
|
44
|
-
|
|
45
|
-
openedTree: FolderTreeProps;
|
|
46
|
-
|
|
47
|
-
enableInitFolderTree(): boolean;
|
|
48
|
-
|
|
49
|
-
initFolderTree(): Promise<void>;
|
|
50
|
-
|
|
51
|
-
openFolder(folder: Document): Promise<void>;
|
|
52
|
-
|
|
53
|
-
onSelectVirtualDocumentsBefore(documents: Array<any>): Promise<Array<Document>>;
|
|
54
|
-
|
|
55
|
-
clearCopiedDocumentsAfterSelect(documents: Array<Document>): Promise<void>;
|
|
56
|
-
}
|
|
57
|
-
```
|
|
58
|
-
### 2. Interface Description
|
|
59
|
-
|
|
60
|
-
Each app must implement these scopes in their own behaviours as `mediaLibraryservice` (using `object` or `class` typescript)
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
| Scope | Type | Description - Ideal implementation
|
|
64
|
-
| ------------------------- | ----- | -----------------------------------------------------------------------------------
|
|
65
|
-
| `folders` | ` Array<Document>` | An Array of documents that must contain folder type
|
|
66
|
-
| `documents` | `Array<Document>` | An Array of documents that must contain simply documents type
|
|
67
|
-
| `openedTree` | `FolderTreeProps` | The current opened tree loaded from behaviours (will store your current behaviours media library service)
|
|
68
|
-
| `enableInitFolderTree` | `boolean` | Method that will allow your virtual folder to be displayed as a `tree` service in media-library
|
|
69
|
-
| `initFolderTree` | `Promise<void>` | Initialize your folder `tree` service (using `folder-tree` directive). this method **requires** `folders` and `documents` members to be populated
|
|
70
|
-
| `openFolder` | `Promise<void>` | open folder children from your `tree` service. this method **requires** `folders` and `documents` members to be populated
|
|
71
|
-
| `onSelectVirtualDocumentsBefore` | `Promise<Array<Document>>` | This method will execute the behaviour's action before its executes the media library scope `selectDocuments()`.
|
|
72
|
-
| `clearCopiedDocumentsAfterSelect` | `Promise<void>` | Allows clear copied documents (if you decided in your method `onSelectVirtualDocumentsBefore()`)
|
|
73
|
-
|
|
74
|
-
### 3. Interface Implementation example
|
|
75
|
-
|
|
76
|
-
```
|
|
77
|
-
Behaviours.register(appName, {
|
|
78
|
-
right {
|
|
79
|
-
...
|
|
80
|
-
}
|
|
81
|
-
mediaLibraryService: new MediaLibraryService(), // mediaLibraryService
|
|
82
|
-
...
|
|
83
|
-
})
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
Creation object :
|
|
87
|
-
```
|
|
88
|
-
export const mediaLibraryService: IVirtualMediaLibraryScope = {
|
|
89
|
-
// implements all methods
|
|
90
|
-
};
|
|
91
|
-
```
|
|
92
|
-
or class :
|
|
93
|
-
```
|
|
94
|
-
export class MediaLibraryService implements VirtualMediaLibraryScope {
|
|
95
|
-
// implements all methods
|
|
96
|
-
};
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
### 4. Example implementation for each method
|
|
100
|
-
|
|
101
|
-
Say we are implementing `MediaLibraryService` from a specific module that needs to display its own tree to the media library
|
|
102
|
-
|
|
103
|
-
```typescript
|
|
104
|
-
export class MediaLibraryService implements IVirtualMediaLibraryScope {
|
|
105
|
-
openedTree: any;
|
|
106
|
-
folders: Array<Document>;
|
|
107
|
-
documents: Array<Document>;
|
|
108
|
-
|
|
109
|
-
constructor() {
|
|
110
|
-
this.folders = [];
|
|
111
|
-
this.documents = [];
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
enableInitFolderTree(): boolean {
|
|
115
|
-
return true // or anything, you make your own condition to determine whether it should be displayed in your virtual folder tree
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
async initFolderTree(): Promise<void> {
|
|
119
|
-
// apicall() or method() from your own that will fetch data and use for assigning your folders and this documents
|
|
120
|
-
// (e.g):
|
|
121
|
-
let documents: any = apiCall();
|
|
122
|
-
|
|
123
|
-
// populate folder content to media library behaviours
|
|
124
|
-
this.folders = documents.filter(filterFoldersOnly());
|
|
125
|
-
|
|
126
|
-
// populate file content to media library behaviours
|
|
127
|
-
this.documents = documents.filter(filterDocumentsOnly()); // See below the example of field Document object must have
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
async openFolder(folder: models.Element): Promise<void> {
|
|
131
|
-
// apicall() or method() from your own that will fetch data and use for assigning your folders and this documents
|
|
132
|
-
// you can add extra business logic, it will depend what you seek for
|
|
133
|
-
// (e.g):
|
|
134
|
-
let documents: any = anotherCall();
|
|
135
|
-
|
|
136
|
-
// populate folder content to media library behaviours
|
|
137
|
-
this.folders = documents.filter(filterFoldersOnly());
|
|
138
|
-
|
|
139
|
-
// populate file content to media library behaviours
|
|
140
|
-
this.documents = documents.filter(filterDocumentsOnly()); // See below the example of field Document object must have
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
async onSelectVirtualDocumentsBefore(documents: Array<any>): Promise<Array<Document>> {
|
|
144
|
-
// apicall() or method() from your own that will do any action you like
|
|
145
|
-
// IMPORTANT this must return {Promise<Array<Document>>} containing a "real" document since this will be used for media library ng model
|
|
146
|
-
|
|
147
|
-
let resDocuments = await anotherCall(documents); // could be calling your own API/method to duplicate or choose different documents
|
|
148
|
-
return resDocuments;
|
|
149
|
-
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
async clearCopiedDocumentsAfterSelect(documents: Array<Document>): Promise<void> {
|
|
153
|
-
if (documents && documents.length)
|
|
154
|
-
service.deleteAll(documents); // SUGGESTED method that will clear any documents
|
|
155
|
-
// note: service.deleteAll comes from workspaceService
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
}
|
|
159
|
-
```
|
|
160
|
-
|
|
161
|
-
As for the `Document` model, these fields should be available :
|
|
162
|
-
```
|
|
163
|
-
{
|
|
164
|
-
name: {string}
|
|
165
|
-
comments: {string},
|
|
166
|
-
metadata: {
|
|
167
|
-
'content-type': {string},
|
|
168
|
-
role: {string},
|
|
169
|
-
extension: {string},
|
|
170
|
-
filename: {string},
|
|
171
|
-
size: {number}
|
|
172
|
-
}, // metadata as the workspace object
|
|
173
|
-
owner: {string},
|
|
174
|
-
ownerName: {string}
|
|
175
|
-
}
|
|
176
|
-
```
|
|
177
|
-
Example fictive data of a document
|
|
178
|
-
```
|
|
179
|
-
{
|
|
180
|
-
"_id": {string} (e.g "id"),
|
|
181
|
-
"name": {string} (e.g "name"),
|
|
182
|
-
"title": {string} (e.g "title"),
|
|
183
|
-
"created": {string} (e.g "2022-06-02T12:06:00.000Z"),
|
|
184
|
-
"children": {Array<this} file/folder content (recommanded to avoid TypeError)
|
|
185
|
-
"documents": {Array<this>} file content
|
|
186
|
-
"folders": {Array<this>} folder content // not mandatory if you decide to lazy load your current folder
|
|
187
|
-
"eParent": {string},
|
|
188
|
-
"eType": {string}, "file" | "folder"
|
|
189
|
-
"metadata":{
|
|
190
|
-
"name": {string} (e.g "insert title"),
|
|
191
|
-
"filename": {string}, (e.g "insert title.png"),
|
|
192
|
-
"content-type": {string} (e.g "image/png"),
|
|
193
|
-
"charset": {string} (e.g "UTF-8"),
|
|
194
|
-
"size": {number} (e.g 77287),
|
|
195
|
-
"extension": {string} (e.g "png"),
|
|
196
|
-
"role": {string}, (e.g "img")
|
|
197
|
-
},
|
|
198
|
-
"version": {number} (e.g 50),
|
|
199
|
-
"link": {string} (e.g "/workspace/document/id"),
|
|
200
|
-
"icon":" {string} (e.g "/workspace/document/id"),
|
|
201
|
-
"owner":{
|
|
202
|
-
"userId": {string} (e.g "user id"),
|
|
203
|
-
"displayName": {string} (e.g "display name")
|
|
204
|
-
},
|
|
205
|
-
"shared":[]
|
|
206
|
-
}
|
|
207
|
-
```
|
|
208
|
-
|
|
209
|
-
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
require('angular');
|
|
4
|
-
require('angular-route');
|
|
5
|
-
require('angular-sanitize');
|
|
6
|
-
exports.angular = window.angular;
|
|
7
|
-
if (!window.entcore) {
|
|
8
|
-
window.entcore = {};
|
|
9
|
-
}
|
|
10
|
-
window.entcore.angular = exports.angular;
|
|
11
|
-
//# sourceMappingURL=angular.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"angular.js","sourceRoot":"","sources":["angular.ts"],"names":[],"mappings":";;AAAA,OAAO,CAAC,SAAS,CAAC,CAAC;AACnB,OAAO,CAAC,eAAe,CAAC,CAAC;AACzB,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAEjB,QAAA,OAAO,GAAI,MAAc,CAAC,OAAO,CAAC;AAC7C,EAAE,CAAA,CAAC,CAAE,MAAc,CAAC,OAAO,CAAC,CAAA,CAAC;IACxB,MAAc,CAAC,OAAO,GAAG,EAAE,CAAC;AACjC,CAAC;AACA,MAAc,CAAC,OAAO,CAAC,OAAO,GAAG,eAAO,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"underscore.js","sourceRoot":"","sources":["underscore.ts"],"names":[],"mappings":";;AAAW,QAAA,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AACrC,EAAE,CAAA,CAAC,CAAE,MAAc,CAAC,OAAO,CAAC,CAAA,CAAC;IACxB,MAAc,CAAC,OAAO,GAAG,EAAE,CAAC;AACjC,CAAC;AACA,MAAc,CAAC,OAAO,CAAC,CAAC,GAAG,SAAC,CAAC"}
|
package/tsconfig.spec.json
DELETED
package/wdio.conf.js
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
const os = require('os');
|
|
2
|
-
const browsers = require('./browsers');
|
|
3
|
-
|
|
4
|
-
let capabilities = os.type() === 'Darwin'?
|
|
5
|
-
[{"browserName": "safari"}] : [{"browserName": "chrome"}, {"browserName": "firefox"}];
|
|
6
|
-
|
|
7
|
-
let services = ['selenium-standalone'];
|
|
8
|
-
let user;
|
|
9
|
-
let key;
|
|
10
|
-
if (process.env.BROWSERSTACK === 'true') {
|
|
11
|
-
services = ['browserstack'];
|
|
12
|
-
user = process.env.BROWSERSTACK_USERNAME;
|
|
13
|
-
key = process.env.BROWSERSTACK_ACCESSKEY;
|
|
14
|
-
capabilities = browsers
|
|
15
|
-
.map(browser => Object.assign({}, {browserName: browser.browser.toLowerCase()}, browser));
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
exports.config = {
|
|
19
|
-
specs: [
|
|
20
|
-
'./test/specs/**/*.ts'
|
|
21
|
-
],
|
|
22
|
-
capabilities,
|
|
23
|
-
sync: true,
|
|
24
|
-
logLevel: 'silent',
|
|
25
|
-
coloredLogs: true,
|
|
26
|
-
deprecationWarnings: true,
|
|
27
|
-
bail: 0,
|
|
28
|
-
screenshotPath: './errorShots/',
|
|
29
|
-
baseUrl: process.env.E2E_BASE_URL || 'http://localhost:8090',
|
|
30
|
-
waitforTimeout: 20000,
|
|
31
|
-
connectionRetryTimeout: 90000,
|
|
32
|
-
connectionRetryCount: 3,
|
|
33
|
-
services,
|
|
34
|
-
user,
|
|
35
|
-
key,
|
|
36
|
-
browserstackLocal: true,
|
|
37
|
-
framework: 'jasmine',
|
|
38
|
-
jasmineNodeOpts: {
|
|
39
|
-
defaultTimeoutInterval: 60000
|
|
40
|
-
},
|
|
41
|
-
before: function () {
|
|
42
|
-
require('ts-node/register');
|
|
43
|
-
}
|
|
44
|
-
};
|
package/webpack-dev.config.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
var webpack = require('webpack');
|
|
2
|
-
var path = require('path');
|
|
3
|
-
|
|
4
|
-
module.exports = {
|
|
5
|
-
context: path.resolve(__dirname, './'),
|
|
6
|
-
entry: {
|
|
7
|
-
'ng-app': './src/ts/ng-app'
|
|
8
|
-
},
|
|
9
|
-
output: {
|
|
10
|
-
filename: './bundle/[name].js'
|
|
11
|
-
},
|
|
12
|
-
resolve: {
|
|
13
|
-
modulesDirectories: ['node_modules'],
|
|
14
|
-
extensions: ['', '.ts', '.js']
|
|
15
|
-
},
|
|
16
|
-
devtool: "inline-source-map",
|
|
17
|
-
module: {
|
|
18
|
-
loaders: [
|
|
19
|
-
{
|
|
20
|
-
test: /\.ts$/,
|
|
21
|
-
loader: 'awesome-typescript-loader'
|
|
22
|
-
}
|
|
23
|
-
]
|
|
24
|
-
}
|
|
25
|
-
}
|
package/webpack.config.js
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
var webpack = require('webpack');
|
|
2
|
-
var path = require('path');
|
|
3
|
-
const UglifyJSPlugin = require('uglifyjs-webpack-plugin');
|
|
4
|
-
|
|
5
|
-
module.exports = {
|
|
6
|
-
context: path.resolve(__dirname, './'),
|
|
7
|
-
entry: {
|
|
8
|
-
'ng-app': './src/ts/ng-app'
|
|
9
|
-
},
|
|
10
|
-
output: {
|
|
11
|
-
filename: './bundle/[name].js'
|
|
12
|
-
},
|
|
13
|
-
resolve: {
|
|
14
|
-
modulesDirectories: ['node_modules'],
|
|
15
|
-
extensions: ['', '.ts', '.js']
|
|
16
|
-
},
|
|
17
|
-
devtool: "source-map",
|
|
18
|
-
module: {
|
|
19
|
-
loaders: [
|
|
20
|
-
{
|
|
21
|
-
test: /\.ts$/,
|
|
22
|
-
loader: 'awesome-typescript-loader'
|
|
23
|
-
}
|
|
24
|
-
]
|
|
25
|
-
},
|
|
26
|
-
plugins: [
|
|
27
|
-
new UglifyJSPlugin({
|
|
28
|
-
sourceMap: true
|
|
29
|
-
})
|
|
30
|
-
]
|
|
31
|
-
}
|