diff --git a/demo-shell-ng2/app/app.component.ts b/demo-shell-ng2/app/app.component.ts index 2f773a9f63..3a4b12456e 100644 --- a/demo-shell-ng2/app/app.component.ts +++ b/demo-shell-ng2/app/app.component.ts @@ -21,9 +21,9 @@ import {MDL} from 'ng2-alfresco-core/material'; import {FilesComponent} from './components/files/files.component'; import {AlfrescoLoginComponent} from 'ng2-alfresco-login/ng2-alfresco-login'; import {AuthRouterOutlet} from './components/router/AuthRouterOutlet'; -import {UploaderComponent} from './components/uploader/uploader.component'; import {AlfrescoSettingsService} from 'ng2-alfresco-core/services'; import {TranslateService, TranslatePipe} from 'ng2-translate/ng2-translate'; +import {UploadComponent} from 'ng2-alfresco-upload/ng2-alfresco-upload'; declare var document: any; @@ -36,7 +36,7 @@ declare var document: any; @RouteConfig([ {path: '/home', name: 'Home', component: FilesComponent}, {path: '/', name: 'Files', component: FilesComponent, useAsDefault: true}, - {path: '/uploader', name: 'Uploader', component: UploaderComponent}, + {path: '/uploader', name: 'Uploader', component: UploadComponent}, {path: '/login', name: 'Login', component: AlfrescoLoginComponent} ]) export class AppComponent { diff --git a/demo-shell-ng2/app/components/uploader/uploader.component.ts b/demo-shell-ng2/app/components/uploader/uploader.component.ts deleted file mode 100644 index 17e13d0ca4..0000000000 --- a/demo-shell-ng2/app/components/uploader/uploader.component.ts +++ /dev/null @@ -1,111 +0,0 @@ -/** - * @license - * Copyright 2016 Alfresco Software, Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import {Component, NgZone} from 'angular2/core'; -import {UPLOAD_DIRECTIVES} from 'ng2-uploader/ng2-uploader'; -import {AlfrescoSettingsService} from 'ng2-alfresco-core/services'; - -@Component({ - selector: 'alfresco-uploader', - styles: [ - ` - :host .dropzone { - width: 100%; - height: 100px; - background-color: #f5f5f5; - margin-top: 2px; - margin-bottom: 2px; - box-shadow: inset 0 1px 2px rgba(0,0,0,.1); - text-align: center; - } - ` - ], - template: ` -
-
-

Upload File

- -
- Response: {{ uploadFile | json }} -
-
-
-

Drag and Drop file demo

-
-
- Drop file here... -
-
-
- {{ dropProgress }}% -
-
-
-
- `, - directives: [UPLOAD_DIRECTIVES] -}) -export class UploaderComponent { - uploadFile:any; - options:Object; - - zone:NgZone; - dropProgress:number = 0; - dropResp:any[] = []; - - constructor(settings:AlfrescoSettingsService) { - this.options = { - url: settings.host + '/alfresco/service/api/upload', - withCredentials: true, - authToken: btoa('admin:admin'), - authTokenPrefix: 'Basic', - fieldName: 'filedata', - formFields: { - siteid: 'swsdp', - containerid: 'documentLibrary' - } - }; - this.zone = new NgZone({enableLongStackTrace: false}); - } - - handleUpload(data):void { - if (data && data.response) { - data = JSON.parse(data.response); - this.uploadFile = data; - } - } - - handleDropUpload(data):void { - let index = this.dropResp.findIndex(x => x.id === data.id); - if (index === -1) { - this.dropResp.push(data); - } else { - this.zone.run(() => { - this.dropResp[index] = data; - }); - } - - let total = 0, uploaded = 0; - this.dropResp.forEach(resp => { - total += resp.progress.total; - uploaded += resp.progress.loaded; - }); - - this.dropProgress = Math.floor(uploaded / (total / 100)); - } -} diff --git a/demo-shell-ng2/app/css/app.css b/demo-shell-ng2/app/css/app.css index 242dd5936f..7b218e4b67 100644 --- a/demo-shell-ng2/app/css/app.css +++ b/demo-shell-ng2/app/css/app.css @@ -2,4 +2,4 @@ .p-10 { padding: 10px; -} +} \ No newline at end of file diff --git a/demo-shell-ng2/app/fonts/material-icons.woff2 b/demo-shell-ng2/app/fonts/material-icons.woff2 new file mode 100644 index 0000000000..e69de29bb2 diff --git a/demo-shell-ng2/app/license_header.txt b/demo-shell-ng2/app/license_header.txt index 3868d3f0c3..5cae403293 100644 --- a/demo-shell-ng2/app/license_header.txt +++ b/demo-shell-ng2/app/license_header.txt @@ -13,4 +13,4 @@ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */ + */ \ No newline at end of file diff --git a/demo-shell-ng2/index.html b/demo-shell-ng2/index.html index 23c45495bf..c57848cb9b 100644 --- a/demo-shell-ng2/index.html +++ b/demo-shell-ng2/index.html @@ -38,6 +38,7 @@ 'ng2-alfresco-core': 'node_modules/ng2-alfresco-core', 'ng2-alfresco-documentlist': 'node_modules/ng2-alfresco-documentlist', 'ng2-alfresco-login': 'node_modules/ng2-alfresco-login', + 'ng2-alfresco-upload': 'node_modules/ng2-alfresco-upload', 'ng2-translate': 'node_modules/ng2-translate', 'rxjs': 'node_modules/rxjs' }, @@ -58,6 +59,9 @@ 'ng2-alfresco-login': { defaultExtension: 'js' }, + 'ng2-alfresco-upload': { + defaultExtension: 'js' + }, 'ng2-translate': { defaultExtension: 'js' }, diff --git a/demo-shell-ng2/package.json b/demo-shell-ng2/package.json index 1ffda81efd..f383ab2004 100644 --- a/demo-shell-ng2/package.json +++ b/demo-shell-ng2/package.json @@ -48,7 +48,6 @@ "material-design-icons": "^2.2.3", "material-design-lite": "^1.1.3", "ng2-translate": "^1.11.2", - "ng2-uploader": "denisvuyka/ng2-uploader", "reflect-metadata": "0.1.2", "rxjs": "5.0.0-beta.2", "systemjs": "0.19.26", diff --git a/ng2-components/ng2-alfresco-core/services/AlfrescoSettingsService.js b/ng2-components/ng2-alfresco-core/services/AlfrescoSettingsService.js index 3251fea7db..1dd8c06a1d 100644 --- a/ng2-components/ng2-alfresco-core/services/AlfrescoSettingsService.js +++ b/ng2-components/ng2-alfresco-core/services/AlfrescoSettingsService.js @@ -1,19 +1,3 @@ -/** - * @license - * Copyright 2016 Alfresco Software, Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ System.register(['angular2/core'], function(exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; @@ -48,10 +32,6 @@ System.register(['angular2/core'], function(exports_1, context_1) { enumerable: true, configurable: true }); - AlfrescoSettingsService.prototype.getAuthToken = function () { - // todo: get proper token value - return 'Basic ' + btoa('admin:admin'); - }; AlfrescoSettingsService = __decorate([ core_1.Injectable(), __metadata('design:paramtypes', []) diff --git a/ng2-components/ng2-alfresco-core/services/AlfrescoSettingsService.js.map b/ng2-components/ng2-alfresco-core/services/AlfrescoSettingsService.js.map index 17f931e1fd..ef574b7b6e 100644 --- a/ng2-components/ng2-alfresco-core/services/AlfrescoSettingsService.js.map +++ b/ng2-components/ng2-alfresco-core/services/AlfrescoSettingsService.js.map @@ -1 +1 @@ -{"version":3,"file":"AlfrescoSettingsService.js","sourceRoot":"","sources":["AlfrescoSettingsService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;;;;;;;;;;;;YAKH;gBAAA;oBACY,UAAK,GAAW,uBAAuB,CAAC;gBAcpD,CAAC;gBAZG,sBAAW,yCAAI;yBAAf;wBACI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;oBACtB,CAAC;yBAED,UAAgB,KAAY;wBACxB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;oBACvB,CAAC;;;mBAJA;gBAMD,8CAAY,GAAZ;oBACI,+BAA+B;oBAC/B,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC1C,CAAC;gBAfL;oBAAC,iBAAU,EAAE;;2CAAA;gBAgBb,8BAAC;YAAD,CAAC,AAfD,IAeC;YAfD,6DAeC,CAAA"} \ No newline at end of file +{"version":3,"file":"AlfrescoSettingsService.js","sourceRoot":"","sources":["AlfrescoSettingsService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;YAmBA;gBAAA;oBACY,UAAK,GAAW,uBAAuB,CAAC;gBASpD,CAAC;gBAPG,sBAAW,yCAAI;yBAAf;wBACI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;oBACtB,CAAC;yBAED,UAAgB,KAAY;wBACxB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;oBACvB,CAAC;;;mBAJA;gBANL;oBAAC,iBAAU,EAAE;;2CAAA;gBAWb,8BAAC;YAAD,CAAC,AAVD,IAUC;YAVD,6DAUC,CAAA"} \ No newline at end of file diff --git a/ng2-components/ng2-alfresco-documentlist/ng2-alfresco-documentlist.js b/ng2-components/ng2-alfresco-documentlist/ng2-alfresco-documentlist.js index e4c2d7309e..c7e179bf62 100644 --- a/ng2-components/ng2-alfresco-documentlist/ng2-alfresco-documentlist.js +++ b/ng2-components/ng2-alfresco-documentlist/ng2-alfresco-documentlist.js @@ -1,7 +1,7 @@ -System.register(['./src/components/document-list', './src/components/content-column', './src/components/content-column-list', './src/components/content-action', './src/components/content-action-list', './src/services/folder-actions.service', './src/services/document-actions.service', './src/services/alfresco.service'], function(exports_1, context_1) { +System.register(['./src/components/document-list', './src/components/document-action', './src/components/document-action-list', './src/components/quick-document-action', './src/components/quick-document-action-list', './src/components/folder-action', './src/components/folder-action-list', './src/components/quick-folder-action', './src/components/quick-folder-action-list', './src/services/folder-actions.service', './src/services/document-actions.service'], function(exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; - var document_list_1, content_column_1, content_column_list_1, content_action_1, content_action_list_1, folder_actions_service_1, document_actions_service_1, alfresco_service_1; + var document_list_1, document_action_1, document_action_list_1, quick_document_action_1, quick_document_action_list_1, folder_action_1, folder_action_list_1, quick_folder_action_1, quick_folder_action_list_1, folder_actions_service_1, document_actions_service_1; var DOCUMENT_LIST_DIRECTIVES, DOCUMENT_LIST_PROVIDERS; var exportedNames_1 = { 'DOCUMENT_LIST_DIRECTIVES': true, @@ -20,21 +20,37 @@ System.register(['./src/components/document-list', './src/components/content-col document_list_1 = document_list_1_1; exportStar_1(document_list_1_1); }, - function (content_column_1_1) { - content_column_1 = content_column_1_1; - exportStar_1(content_column_1_1); + function (document_action_1_1) { + document_action_1 = document_action_1_1; + exportStar_1(document_action_1_1); }, - function (content_column_list_1_1) { - content_column_list_1 = content_column_list_1_1; - exportStar_1(content_column_list_1_1); + function (document_action_list_1_1) { + document_action_list_1 = document_action_list_1_1; + exportStar_1(document_action_list_1_1); }, - function (content_action_1_1) { - content_action_1 = content_action_1_1; - exportStar_1(content_action_1_1); + function (quick_document_action_1_1) { + quick_document_action_1 = quick_document_action_1_1; + exportStar_1(quick_document_action_1_1); }, - function (content_action_list_1_1) { - content_action_list_1 = content_action_list_1_1; - exportStar_1(content_action_list_1_1); + function (quick_document_action_list_1_1) { + quick_document_action_list_1 = quick_document_action_list_1_1; + exportStar_1(quick_document_action_list_1_1); + }, + function (folder_action_1_1) { + folder_action_1 = folder_action_1_1; + exportStar_1(folder_action_1_1); + }, + function (folder_action_list_1_1) { + folder_action_list_1 = folder_action_list_1_1; + exportStar_1(folder_action_list_1_1); + }, + function (quick_folder_action_1_1) { + quick_folder_action_1 = quick_folder_action_1_1; + exportStar_1(quick_folder_action_1_1); + }, + function (quick_folder_action_list_1_1) { + quick_folder_action_list_1 = quick_folder_action_list_1_1; + exportStar_1(quick_folder_action_list_1_1); }, function (folder_actions_service_1_1) { folder_actions_service_1 = folder_actions_service_1_1; @@ -43,35 +59,37 @@ System.register(['./src/components/document-list', './src/components/content-col function (document_actions_service_1_1) { document_actions_service_1 = document_actions_service_1_1; exportStar_1(document_actions_service_1_1); - }, - function (alfresco_service_1_1) { - alfresco_service_1 = alfresco_service_1_1; - exportStar_1(alfresco_service_1_1); }], execute: function() { exports_1("default",{ directives: [ document_list_1.DocumentList, - content_column_1.ContentColumn, - content_column_list_1.ContentColumnList, - content_action_1.ContentAction, - content_action_list_1.ContentActionList + document_action_1.DocumentAction, + document_action_list_1.DocumentActionList, + quick_document_action_1.QuickDocumentAction, + quick_document_action_list_1.QuickDocumentActionList, + folder_action_1.FolderAction, + folder_action_list_1.FolderActionList, + quick_folder_action_1.QuickFolderAction, + quick_folder_action_list_1.QuickFolderActionList ], providers: [ - alfresco_service_1.AlfrescoService, folder_actions_service_1.FolderActionsService, document_actions_service_1.DocumentActionsService ] }); exports_1("DOCUMENT_LIST_DIRECTIVES", DOCUMENT_LIST_DIRECTIVES = [ document_list_1.DocumentList, - content_column_1.ContentColumn, - content_column_list_1.ContentColumnList, - content_action_1.ContentAction, - content_action_list_1.ContentActionList + document_action_1.DocumentAction, + document_action_list_1.DocumentActionList, + quick_document_action_1.QuickDocumentAction, + quick_document_action_list_1.QuickDocumentActionList, + folder_action_1.FolderAction, + folder_action_list_1.FolderActionList, + quick_folder_action_1.QuickFolderAction, + quick_folder_action_list_1.QuickFolderActionList ]); exports_1("DOCUMENT_LIST_PROVIDERS", DOCUMENT_LIST_PROVIDERS = [ - alfresco_service_1.AlfrescoService, folder_actions_service_1.FolderActionsService, document_actions_service_1.DocumentActionsService ]); diff --git a/ng2-components/ng2-alfresco-documentlist/ng2-alfresco-documentlist.js.map b/ng2-components/ng2-alfresco-documentlist/ng2-alfresco-documentlist.js.map index 30dd8f10e1..dbe264adeb 100644 --- a/ng2-components/ng2-alfresco-documentlist/ng2-alfresco-documentlist.js.map +++ b/ng2-components/ng2-alfresco-documentlist/ng2-alfresco-documentlist.js.map @@ -1 +1 @@ -{"version":3,"file":"ng2-alfresco-documentlist.js","sourceRoot":"","sources":["ng2-alfresco-documentlist.ts"],"names":[],"mappings":";;;;QAqCa,wBAAwB,EAQxB,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAvBpC,oBAAe;gBACX,UAAU,EAAE;oBACR,4BAAY;oBACZ,8BAAa;oBACb,uCAAiB;oBACjB,8BAAa;oBACb,uCAAiB;iBACpB;gBACD,SAAS,EAAE;oBACP,kCAAe;oBACf,6CAAoB;oBACpB,iDAAsB;iBACzB;aACJ,EAAA;YAEY,sCAAA,wBAAwB,GAAU;gBAC3C,4BAAY;gBACZ,8BAAa;gBACb,uCAAiB;gBACjB,8BAAa;gBACb,uCAAiB;aACpB,CAAA,CAAC;YAEW,qCAAA,uBAAuB,GAAU;gBAC1C,kCAAe;gBACf,6CAAoB;gBACpB,iDAAsB;aACzB,CAAA,CAAC"} \ No newline at end of file +{"version":3,"file":"ng2-alfresco-documentlist.js","sourceRoot":"","sources":["ng2-alfresco-documentlist.ts"],"names":[],"mappings":";;;;QA4Ca,wBAAwB,EAYxB,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YA9BpC,oBAAe;gBACX,UAAU,EAAE;oBACR,4BAAY;oBACZ,gCAAc;oBACd,yCAAkB;oBAClB,2CAAmB;oBACnB,oDAAuB;oBACvB,4BAAY;oBACZ,qCAAgB;oBAChB,uCAAiB;oBACjB,gDAAqB;iBACxB;gBACD,SAAS,EAAE;oBACP,6CAAoB;oBACpB,iDAAsB;iBACzB;aACJ,EAAA;YAEY,sCAAA,wBAAwB,GAAU;gBAC3C,4BAAY;gBACZ,gCAAc;gBACd,yCAAkB;gBAClB,2CAAmB;gBACnB,oDAAuB;gBACvB,4BAAY;gBACZ,qCAAgB;gBAChB,uCAAiB;gBACjB,gDAAqB;aACxB,CAAA,CAAC;YAEW,qCAAA,uBAAuB,GAAU;gBAC1C,6CAAoB;gBACpB,iDAAsB;aACzB,CAAA,CAAC"} \ No newline at end of file diff --git a/ng2-components/ng2-alfresco-documentlist/src/components/document-list.js b/ng2-components/ng2-alfresco-documentlist/src/components/document-list.js index a33abfc994..e98da0ff51 100644 --- a/ng2-components/ng2-alfresco-documentlist/src/components/document-list.js +++ b/ng2-components/ng2-alfresco-documentlist/src/components/document-list.js @@ -1,20 +1,4 @@ -/** - * @license - * Copyright 2016 Alfresco Software, Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -System.register(['angular2/core', './../services/alfresco.service', './../models/content-column.model'], function(exports_1, context_1) { +System.register(['angular2/core', './../services/alfresco.service'], function(exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { @@ -26,7 +10,7 @@ System.register(['angular2/core', './../services/alfresco.service', './../models var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; - var core_1, alfresco_service_1, content_column_model_1; + var core_1, alfresco_service_1; var DocumentList; return { setters:[ @@ -35,9 +19,6 @@ System.register(['angular2/core', './../services/alfresco.service', './../models }, function (alfresco_service_1_1) { alfresco_service_1 = alfresco_service_1_1; - }, - function (content_column_model_1_1) { - content_column_model_1 = content_column_model_1_1; }], execute: function() { DocumentList = (function () { @@ -45,6 +26,8 @@ System.register(['angular2/core', './../services/alfresco.service', './../models this._alfrescoService = _alfrescoService; this.navigate = true; this.breadcrumb = false; + this.thumbnails = true; + this.downloads = true; this.itemClick = new core_1.EventEmitter(); this.rootFolder = { name: 'Document Library', @@ -52,8 +35,10 @@ System.register(['angular2/core', './../services/alfresco.service', './../models }; this.currentFolderPath = 'swsdp/documentLibrary'; this.route = []; - this.actions = []; - this.columns = []; + this.documentActions = []; + this.quickDocumentActions = []; + this.folderActions = []; + this.quickFolderActions = []; } DocumentList.prototype.canNavigateParent = function () { return this.navigate && @@ -64,28 +49,6 @@ System.register(['angular2/core', './../services/alfresco.service', './../models this.route.push(this.rootFolder); this.displayFolderContent(this.rootFolder.path); }; - DocumentList.prototype.ngAfterContentInit = function () { - if (!this.columns || this.columns.length === 0) { - this.setupDefaultColumns(); - } - }; - DocumentList.prototype.ngAfterViewChecked = function () { - // workaround for MDL issues with dynamic components - if (componentHandler) { - componentHandler.upgradeAllRegistered(); - } - }; - DocumentList.prototype.getContentActions = function (target, type) { - if (target && type) { - var ltarget_1 = target.toLowerCase(); - var ltype_1 = type.toLowerCase(); - return this.actions.filter(function (entry) { - return entry.target.toLowerCase() === ltarget_1 && - entry.type.toLowerCase() === ltype_1; - }); - } - return []; - }; DocumentList.prototype.onNavigateParentClick = function ($event) { if ($event) { $event.preventDefault(); @@ -134,6 +97,11 @@ System.register(['angular2/core', './../services/alfresco.service', './../models DocumentList.prototype.getDocumentThumbnailUrl = function (document) { return this._alfrescoService.getDocumentThumbnailUrl(document); }; + DocumentList.prototype.registerDocumentAction = function (action) { + if (action) { + this.documentActions.push(action); + } + }; DocumentList.prototype.executeContentAction = function (document, action) { // todo: safety checks action.handler(document); @@ -151,18 +119,6 @@ System.register(['angular2/core', './../services/alfresco.service', './../models .getFolder(path) .subscribe(function (folder) { return _this.folder = folder; }, function (error) { return _this.errorMessage = error; }); }; - DocumentList.prototype.setupDefaultColumns = function () { - var thumbnailCol = new content_column_model_1.ContentColumnModel(); - thumbnailCol.source = '$thumbnail'; - var nameCol = new content_column_model_1.ContentColumnModel(); - nameCol.title = 'Name'; - nameCol.source = 'displayName'; - nameCol.cssClass = 'full-width name-column'; - this.columns = [ - thumbnailCol, - nameCol - ]; - }; __decorate([ core_1.Input(), __metadata('design:type', Boolean) @@ -174,17 +130,26 @@ System.register(['angular2/core', './../services/alfresco.service', './../models __decorate([ core_1.Input('folder-icon'), __metadata('design:type', String) - ], DocumentList.prototype, "folderIcon", void 0); + ], DocumentList.prototype, "folderIconClass", void 0); + __decorate([ + core_1.Input(), + __metadata('design:type', Boolean) + ], DocumentList.prototype, "thumbnails", void 0); + __decorate([ + core_1.Input(), + __metadata('design:type', Boolean) + ], DocumentList.prototype, "downloads", void 0); __decorate([ core_1.Output(), __metadata('design:type', core_1.EventEmitter) ], DocumentList.prototype, "itemClick", void 0); DocumentList = __decorate([ core_1.Component({ - moduleId: __moduleName, selector: 'alfresco-document-list', - styleUrls: ['./document-list.css'], - templateUrl: './document-list.html', + styles: [ + "\n :host .breadcrumb {\n margin-bottom: 4px;\n }\n\n :host .folder-icon {\n float: left;\n margin-right: 10px;\n font-size: 4em;\n }\n\n :host .file-icon {\n width: 52px;\n height: 52px;\n float: left;\n margin-right: 10px;\n }\n \n :host .document-header {\n font-size: 24px;\n line-height: 32px;\n }\n \n :host .document-header:hover {\n text-decoration: underline;\n }\n " + ], + template: "\n
    \n
  1. \n {{r.name}}\n {{r.name}}\n
  2. \n
\n
\n \n ...\n \n \n \n \n
0\" class=\"btn-group pull-right\">\n \n \n \n
\n \n \n
\n \n \n \n
\n \n \n \n \"\"\n\n

\n {{document.displayName}}\n

\n

{{document.description}}

\n \n Modified {{document.modifiedOn}} by {{document.modifiedBy}}\n \n \n
\n ", providers: [alfresco_service_1.AlfrescoService] }), __metadata('design:paramtypes', [alfresco_service_1.AlfrescoService]) diff --git a/ng2-components/ng2-alfresco-documentlist/src/components/document-list.js.map b/ng2-components/ng2-alfresco-documentlist/src/components/document-list.js.map index 1424e24e80..c4693a2031 100644 --- a/ng2-components/ng2-alfresco-documentlist/src/components/document-list.js.map +++ b/ng2-components/ng2-alfresco-documentlist/src/components/document-list.js.map @@ -1 +1 @@ -{"version":3,"file":"document-list.js","sourceRoot":"","sources":["document-list.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;;;;;;;;;;;;;;;;;;YA0BH;gBA2BI,sBACY,gBAAiC;oBAAjC,qBAAgB,GAAhB,gBAAgB,CAAiB;oBA1BpC,aAAQ,GAAY,IAAI,CAAC;oBACzB,eAAU,GAAY,KAAK,CAAC;oBAG3B,cAAS,GAAsB,IAAI,mBAAY,EAAE,CAAC;oBAE5D,eAAU,GAAG;wBACT,IAAI,EAAE,kBAAkB;wBACxB,IAAI,EAAE,uBAAuB;qBAChC,CAAC;oBACF,sBAAiB,GAAW,uBAAuB,CAAC;oBAIpD,UAAK,GAAU,EAAE,CAAC;oBAElB,YAAO,GAAyB,EAAE,CAAC;oBACnC,YAAO,GAAyB,EAAE,CAAC;gBAUhC,CAAC;gBARJ,wCAAiB,GAAjB;oBACI,MAAM,CAAC,IAAI,CAAC,QAAQ;wBAChB,CAAC,IAAI,CAAC,UAAU;wBAChB,IAAI,CAAC,iBAAiB,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBACxD,CAAC;gBAMD,+BAAQ,GAAR;oBACI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBACjC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBACpD,CAAC;gBAED,yCAAkB,GAAlB;oBACI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;wBAC7C,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBAC/B,CAAC;gBACL,CAAC;gBAED,yCAAkB,GAAlB;oBACI,oDAAoD;oBACpD,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;wBACnB,gBAAgB,CAAC,oBAAoB,EAAE,CAAC;oBAC5C,CAAC;gBACL,CAAC;gBAED,wCAAiB,GAAjB,UAAkB,MAAc,EAAE,IAAY;oBAC1C,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC;wBAEjB,IAAI,SAAO,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;wBACnC,IAAI,OAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;wBAE/B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAA,KAAK;4BAC7B,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,SAAO;gCACrC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,OAAK,CAAC;wBAC9C,CAAC,CAAC,CAAC;oBACP,CAAC;oBACD,MAAM,CAAC,EAAE,CAAC;gBACd,CAAC;gBAED,4CAAqB,GAArB,UAAsB,MAAM;oBACxB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;wBACT,MAAM,CAAC,cAAc,EAAE,CAAC;oBAC5B,CAAC;oBAED,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;wBAChB,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;wBACjB,IAAI,QAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;wBACzF,EAAE,CAAC,CAAC,QAAM,CAAC,CAAC,CAAC;4BACT,IAAI,CAAC,oBAAoB,CAAC,QAAM,CAAC,IAAI,CAAC,CAAC;wBAC3C,CAAC;oBACL,CAAC;gBACL,CAAC;gBAED,kCAAW,GAAX,UAAY,IAAoB,EAAE,MAAM;oBACpC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;wBACT,MAAM,CAAC,cAAc,EAAE,CAAC;oBAC5B,CAAC;oBAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;wBAChB,KAAK,EAAE,IAAI;qBACd,CAAC,CAAC;oBAEH,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC;wBACxB,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;4BAChB,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;4BAClC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gCACZ,IAAI,EAAE,IAAI,CAAC,WAAW;gCACtB,IAAI,EAAE,IAAI;6BACb,CAAC,CAAC;4BACH,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;wBACpC,CAAC;oBACL,CAAC;gBACL,CAAC;gBAED,gCAAS,GAAT,UAAU,CAAC,EAAE,MAAM;oBACf,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;wBACT,MAAM,CAAC,cAAc,EAAE,CAAC;oBAC5B,CAAC;oBAED,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;wBAChB,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;wBAChC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;4BACX,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;4BAC3B,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;wBACtC,CAAC;oBACL,CAAC;gBACL,CAAC;gBAED,oCAAa,GAAb,UAAc,QAAwB;oBAClC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBACzD,CAAC;gBAED,8CAAuB,GAAvB,UAAwB,QAAyB;oBAC7C,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;gBACnE,CAAC;gBAED,2CAAoB,GAApB,UAAqB,QAAuB,EAAE,MAA0B;oBACpE,sBAAsB;oBACtB,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAC7B,CAAC;gBAEO,kCAAW,GAAnB,UAAoB,IAAoB;oBACpC,IAAI,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;oBACxC,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAE,GAAG,GAAG,CAAC;oBAC1E,IAAI,YAAY,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;oBACpD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,GAAG,YAAY,CAAC;gBACnD,CAAC;gBAEO,2CAAoB,GAA5B,UAA6B,IAAI;oBAAjC,iBAQC;oBAPG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;oBAC9B,IAAI,CAAC,gBAAgB;yBAChB,SAAS,CAAC,IAAI,CAAC;yBACf,SAAS,CACN,UAAA,MAAM,IAAI,OAAA,KAAI,CAAC,MAAM,GAAG,MAAM,EAApB,CAAoB,EAC9B,UAAA,KAAK,IAAI,OAAA,KAAI,CAAC,YAAY,GAAQ,KAAK,EAA9B,CAA8B,CAC1C,CAAC;gBACV,CAAC;gBAEO,0CAAmB,GAA3B;oBACI,IAAI,YAAY,GAAG,IAAI,yCAAkB,EAAE,CAAC;oBAC5C,YAAY,CAAC,MAAM,GAAG,YAAY,CAAC;oBAEnC,IAAI,OAAO,GAAG,IAAI,yCAAkB,EAAE,CAAC;oBACvC,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC;oBACvB,OAAO,CAAC,MAAM,GAAG,aAAa,CAAC;oBAC/B,OAAO,CAAC,QAAQ,GAAG,wBAAwB,CAAC;oBAE5C,IAAI,CAAC,OAAO,GAAG;wBACX,YAAY;wBACZ,OAAO;qBACV,CAAC;gBACN,CAAC;gBAzJD;oBAAC,YAAK,EAAE;;8DAAA;gBACR;oBAAC,YAAK,EAAE;;gEAAA;gBACR;oBAAC,YAAK,CAAC,aAAa,CAAC;;gEAAA;gBAErB;oBAAC,aAAM,EAAE;;+DAAA;gBAbb;oBAAC,gBAAS,CAAC;wBACP,QAAQ,EAAE,YAAY;wBACtB,QAAQ,EAAE,wBAAwB;wBAClC,SAAS,EAAE,CAAC,qBAAqB,CAAC;wBAClC,WAAW,EAAE,sBAAsB;wBACnC,SAAS,EAAE,CAAC,kCAAe,CAAC;qBAC/B,CAAC;;gCAAA;gBA6JF,mBAAC;YAAD,CAAC,AA5JD,IA4JC;YA5JD,uCA4JC,CAAA"} \ No newline at end of file +{"version":3,"file":"document-list.js","sourceRoot":"","sources":["document-list.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ng2-components/ng2-alfresco-documentlist/src/models/content-action.model.js.map b/ng2-components/ng2-alfresco-documentlist/src/models/content-action.model.js.map index 841221b034..46669b2597 100644 --- a/ng2-components/ng2-alfresco-documentlist/src/models/content-action.model.js.map +++ b/ng2-components/ng2-alfresco-documentlist/src/models/content-action.model.js.map @@ -1 +1 @@ -{"version":3,"file":"content-action.model.js","sourceRoot":"","sources":["content-action.model.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;YAEH;gBAAA;gBAMA,CAAC;gBAAD,yBAAC;YAAD,CAAC,AAND,IAMC;YAND,mDAMC,CAAA"} \ No newline at end of file +{"version":3,"file":"content-action.model.js","sourceRoot":"","sources":["content-action.model.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;YAEH;gBAAA;gBAIA,CAAC;gBAAD,yBAAC;YAAD,CAAC,AAJD,IAIC;YAJD,mDAIC,CAAA"} \ No newline at end of file diff --git a/ng2-components/ng2-alfresco-documentlist/src/services/alfresco.service.js b/ng2-components/ng2-alfresco-documentlist/src/services/alfresco.service.js index d6e36bc464..d1612c4a85 100644 --- a/ng2-components/ng2-alfresco-documentlist/src/services/alfresco.service.js +++ b/ng2-components/ng2-alfresco-documentlist/src/services/alfresco.service.js @@ -67,7 +67,7 @@ System.register(['angular2/core', 'angular2/http', 'rxjs/Observable', '../../../ AlfrescoService.prototype.getFolder = function (folder) { var headers = new http_1.Headers({ 'Content-Type': 'application/json', - 'Authorization': this.settings.getAuthToken() + 'Authorization': 'Basic ' + btoa('admin:admin') }); var options = new http_1.RequestOptions({ headers: headers }); return this.http diff --git a/ng2-components/ng2-alfresco-documentlist/src/services/alfresco.service.js.map b/ng2-components/ng2-alfresco-documentlist/src/services/alfresco.service.js.map index 2c1d113d33..63e89ed9b4 100644 --- a/ng2-components/ng2-alfresco-documentlist/src/services/alfresco.service.js.map +++ b/ng2-components/ng2-alfresco-documentlist/src/services/alfresco.service.js.map @@ -1 +1 @@ -{"version":3,"file":"alfresco.service.js","sourceRoot":"","sources":["alfresco.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YASH;gBACI,yBACY,IAAU,EACV,QAAiC;oBADjC,SAAI,GAAJ,IAAI,CAAM;oBACV,aAAQ,GAAR,QAAQ,CAAyB;oBAKrC,UAAK,GAAW,uBAAuB,CAAC;oBACxC,iBAAY,GAAW,sDAAsD,CAAC;oBAJlF,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAC/B,CAAC;gBAKD,sBAAW,iCAAI;yBAAf;wBACI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;oBACtB,CAAC;yBAED,UAAgB,KAAY;wBACxB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;oBACvB,CAAC;;;mBAJA;gBAMO,oCAAU,GAAlB;oBACI,MAAM,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC;gBACzC,CAAC;gBAED,mCAAS,GAAT,UAAU,MAAc;oBACpB,IAAI,OAAO,GAAG,IAAI,cAAO,CAAC;wBACtB,cAAc,EAAE,kBAAkB;wBAClC,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE;qBAChD,CAAC,CAAC;oBACH,IAAI,OAAO,GAAG,IAAI,qBAAc,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;oBACvD,MAAM,CAAC,IAAI,CAAC,IAAI;yBACX,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,MAAM,EAAE,OAAO,CAAC;yBACxC,GAAG,CAAC,UAAA,GAAG,IAAI,OAAe,GAAG,CAAC,IAAI,EAAE,EAAzB,CAAyB,CAAC;yBACrC,EAAE,CAAC,UAAA,IAAI,IAAI,OAAA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAjB,CAAiB,CAAC,CAAC,iCAAiC;yBAC/D,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACjC,CAAC;gBAED,iDAAuB,GAAvB,UAAwB,QAAwB;oBAC5C,MAAM,CAAC,IAAI,CAAC,KAAK;wBACb,6BAA6B;wBAC7B,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,mEAAmE,CAAC;gBACnH,CAAC;gBAED,uCAAa,GAAb,UAAc,QAAwB;oBAClC,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,oBAAoB,GAAG,QAAQ,CAAC,UAAU,CAAC;gBACnE,CAAC;gBAEO,qCAAW,GAAnB,UAAqB,KAAe;oBAChC,mFAAmF;oBACnF,4CAA4C;oBAC5C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACrB,MAAM,CAAC,uBAAU,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,cAAc,CAAC,CAAC;gBAClE,CAAC;gBApDL;oBAAC,iBAAU,EAAE;;mCAAA;gBAqDb,sBAAC;YAAD,CAAC,AApDD,IAoDC;YApDD,6CAoDC,CAAA"} \ No newline at end of file +{"version":3,"file":"alfresco.service.js","sourceRoot":"","sources":["alfresco.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAUH;gBACI,yBACY,IAAU,EACV,QAAiC;oBADjC,SAAI,GAAJ,IAAI,CAAM;oBACV,aAAQ,GAAR,QAAQ,CAAyB;oBAKrC,UAAK,GAAW,uBAAuB,CAAC;oBACxC,iBAAY,GAAW,sDAAsD,CAAC;oBAJlF,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAC/B,CAAC;gBAKD,sBAAW,iCAAI;yBAAf;wBACI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;oBACtB,CAAC;yBAED,UAAgB,KAAY;wBACxB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;oBACvB,CAAC;;;mBAJA;gBAMO,oCAAU,GAAlB;oBACI,MAAM,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC;gBACzC,CAAC;gBAED,mCAAS,GAAT,UAAU,MAAc;oBACpB,IAAI,OAAO,GAAG,IAAI,cAAO,CAAC;wBACtB,cAAc,EAAE,kBAAkB;wBAClC,eAAe,EAAE,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC;qBAClD,CAAC,CAAC;oBACH,IAAI,OAAO,GAAG,IAAI,qBAAc,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;oBACvD,MAAM,CAAC,IAAI,CAAC,IAAI;yBACX,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,MAAM,EAAE,OAAO,CAAC;yBACxC,GAAG,CAAC,UAAA,GAAG,IAAI,OAAe,GAAG,CAAC,IAAI,EAAE,EAAzB,CAAyB,CAAC;yBACrC,EAAE,CAAC,UAAA,IAAI,IAAI,OAAA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAjB,CAAiB,CAAC,CAAC,iCAAiC;yBAC/D,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACjC,CAAC;gBAED,iDAAuB,GAAvB,UAAwB,QAAwB;oBAC5C,MAAM,CAAC,IAAI,CAAC,KAAK;wBACb,6BAA6B;wBAC7B,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,mEAAmE,CAAC;gBACnH,CAAC;gBAED,uCAAa,GAAb,UAAc,QAAwB;oBAClC,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,oBAAoB,GAAG,QAAQ,CAAC,UAAU,CAAC;gBACnE,CAAC;gBAEO,qCAAW,GAAnB,UAAqB,KAAe;oBAChC,mFAAmF;oBACnF,4CAA4C;oBAC5C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACrB,MAAM,CAAC,uBAAU,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,cAAc,CAAC,CAAC;gBAClE,CAAC;gBApDL;oBAAC,iBAAU,EAAE;;mCAAA;gBAqDb,sBAAC;YAAD,CAAC,AApDD,IAoDC;YApDD,6CAoDC,CAAA"} \ No newline at end of file diff --git a/ng2-components/ng2-alfresco-documentlist/src/services/document-actions.service.js b/ng2-components/ng2-alfresco-documentlist/src/services/document-actions.service.js index f7b0be49e7..be278cb279 100644 --- a/ng2-components/ng2-alfresco-documentlist/src/services/document-actions.service.js +++ b/ng2-components/ng2-alfresco-documentlist/src/services/document-actions.service.js @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -System.register(['angular2/core', './alfresco.service'], function(exports_1, context_1) { +System.register(['angular2/core'], function(exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { @@ -26,61 +26,33 @@ System.register(['angular2/core', './alfresco.service'], function(exports_1, con var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; - var core_1, alfresco_service_1; + var core_1; var DocumentActionsService; return { setters:[ function (core_1_1) { core_1 = core_1_1; - }, - function (alfresco_service_1_1) { - alfresco_service_1 = alfresco_service_1_1; }], execute: function() { DocumentActionsService = (function () { - function DocumentActionsService(_alfrescoService) { - this._alfrescoService = _alfrescoService; + function DocumentActionsService() { this.handlers = {}; - this.setupActionHandlers(); + // todo: just for dev/demo purposes, to be replaced with real actions + this.handlers['system1'] = this.handleStandardAction1; + this.handlers['system2'] = this.handleStandardAction2; } DocumentActionsService.prototype.getHandler = function (key) { - if (key) { - var lkey = key.toLowerCase(); - return this.handlers[lkey]; - } - return null; + return this.handlers[key]; }; - DocumentActionsService.prototype.setHandler = function (key, handler) { - if (key) { - var lkey = key.toLowerCase(); - this.handlers[lkey] = handler; - } - }; - DocumentActionsService.prototype.setupActionHandlers = function () { - this.handlers['download'] = this.download.bind(this); - // todo: just for dev/demo purposes, to be replaced with real actions - this.handlers['system1'] = this.handleStandardAction1.bind(this); - this.handlers['system2'] = this.handleStandardAction2.bind(this); - }; - DocumentActionsService.prototype.handleStandardAction1 = function (obj) { + DocumentActionsService.prototype.handleStandardAction1 = function (document) { window.alert('standard document action 1'); }; - DocumentActionsService.prototype.handleStandardAction2 = function (obj) { + DocumentActionsService.prototype.handleStandardAction2 = function (document) { window.alert('standard document action 2'); }; - DocumentActionsService.prototype.download = function (obj) { - if (obj && !obj.isFolder) { - var link = document.createElement('a'); - document.body.appendChild(link); - link.setAttribute('download', 'download'); - link.href = this._alfrescoService.getContentUrl(obj); - link.click(); - document.body.removeChild(link); - } - }; DocumentActionsService = __decorate([ core_1.Injectable(), - __metadata('design:paramtypes', [alfresco_service_1.AlfrescoService]) + __metadata('design:paramtypes', []) ], DocumentActionsService); return DocumentActionsService; }()); diff --git a/ng2-components/ng2-alfresco-documentlist/src/services/document-actions.service.js.map b/ng2-components/ng2-alfresco-documentlist/src/services/document-actions.service.js.map index e32a58a868..29b47fbd4a 100644 --- a/ng2-components/ng2-alfresco-documentlist/src/services/document-actions.service.js.map +++ b/ng2-components/ng2-alfresco-documentlist/src/services/document-actions.service.js.map @@ -1 +1 @@ -{"version":3,"file":"document-actions.service.js","sourceRoot":"","sources":["document-actions.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;;;;;;;;;;;;;;;YAOH;gBAGI,gCAAoB,gBAAiC;oBAAjC,qBAAgB,GAAhB,gBAAgB,CAAiB;oBAF7C,aAAQ,GAA4C,EAAE,CAAC;oBAG3D,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC/B,CAAC;gBAED,2CAAU,GAAV,UAAW,GAAW;oBAClB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBACN,IAAI,IAAI,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;wBAC7B,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAC/B,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC;gBAChB,CAAC;gBAED,2CAAU,GAAV,UAAW,GAAW,EAAE,OAA6B;oBACjD,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBACN,IAAI,IAAI,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;wBAC7B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;oBAClC,CAAC;gBACL,CAAC;gBAEO,oDAAmB,GAA3B;oBACI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAErD,qEAAqE;oBACrE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACjE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrE,CAAC;gBAEO,sDAAqB,GAA7B,UAA8B,GAAQ;oBAClC,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;gBAC/C,CAAC;gBAEO,sDAAqB,GAA7B,UAA8B,GAAQ;oBAClC,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;gBAC/C,CAAC;gBAEO,yCAAQ,GAAhB,UAAiB,GAAQ;oBACrB,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;wBACvB,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;wBACvC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;wBAChC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;wBAC1C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;wBACrD,IAAI,CAAC,KAAK,EAAE,CAAC;wBACb,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;oBACpC,CAAC;gBACL,CAAC;gBAhDL;oBAAC,iBAAU,EAAE;;0CAAA;gBAiDb,6BAAC;YAAD,CAAC,AAhDD,IAgDC;YAhDD,2DAgDC,CAAA"} \ No newline at end of file +{"version":3,"file":"document-actions.service.js","sourceRoot":"","sources":["document-actions.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;;;;;;;;;;;;YAMH;gBAGI;oBAFQ,aAAQ,GAA4C,EAAE,CAAC;oBAG3D,qEAAqE;oBACrE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC;oBACtD,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC;gBAC1D,CAAC;gBAED,2CAAU,GAAV,UAAW,GAAW;oBAClB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAC9B,CAAC;gBAEO,sDAAqB,GAA7B,UAA8B,QAAa;oBACvC,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;gBAC/C,CAAC;gBAEO,sDAAqB,GAA7B,UAA8B,QAAa;oBACvC,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;gBAC/C,CAAC;gBApBL;oBAAC,iBAAU,EAAE;;0CAAA;gBAqBb,6BAAC;YAAD,CAAC,AApBD,IAoBC;YApBD,2DAoBC,CAAA"} \ No newline at end of file diff --git a/ng2-components/ng2-alfresco-documentlist/src/services/folder-actions.service.js b/ng2-components/ng2-alfresco-documentlist/src/services/folder-actions.service.js index 7ae2b32bdd..ec65e0bba1 100644 --- a/ng2-components/ng2-alfresco-documentlist/src/services/folder-actions.service.js +++ b/ng2-components/ng2-alfresco-documentlist/src/services/folder-actions.service.js @@ -38,21 +38,11 @@ System.register(['angular2/core'], function(exports_1, context_1) { function FolderActionsService() { this.handlers = {}; // todo: just for dev/demo purposes, to be replaced with real actions - this.handlers['system1'] = this.handleStandardAction1.bind(this); - this.handlers['system2'] = this.handleStandardAction2.bind(this); + this.handlers['system1'] = this.handleStandardAction1; + this.handlers['system2'] = this.handleStandardAction2; } FolderActionsService.prototype.getHandler = function (key) { - if (key) { - var lkey = key.toLowerCase(); - return this.handlers[lkey]; - } - return null; - }; - FolderActionsService.prototype.setHandler = function (key, handler) { - if (key) { - var lkey = key.toLowerCase(); - this.handlers[lkey] = handler; - } + return this.handlers[key]; }; FolderActionsService.prototype.handleStandardAction1 = function (document) { window.alert('standard folder action 1'); diff --git a/ng2-components/ng2-alfresco-documentlist/src/services/folder-actions.service.js.map b/ng2-components/ng2-alfresco-documentlist/src/services/folder-actions.service.js.map index 898f9f0cfc..6f6d8d92c8 100644 --- a/ng2-components/ng2-alfresco-documentlist/src/services/folder-actions.service.js.map +++ b/ng2-components/ng2-alfresco-documentlist/src/services/folder-actions.service.js.map @@ -1 +1 @@ -{"version":3,"file":"folder-actions.service.js","sourceRoot":"","sources":["folder-actions.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;;;;;;;;;;;;YAMH;gBAGI;oBAFQ,aAAQ,GAA4C,EAAE,CAAC;oBAG3D,qEAAqE;oBACrE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACjE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrE,CAAC;gBAED,yCAAU,GAAV,UAAW,GAAW;oBAClB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBACN,IAAI,IAAI,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;wBAC7B,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAC/B,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC;gBAChB,CAAC;gBAED,yCAAU,GAAV,UAAW,GAAW,EAAE,OAA6B;oBACjD,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBACN,IAAI,IAAI,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;wBAC7B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;oBAClC,CAAC;gBACL,CAAC;gBAEO,oDAAqB,GAA7B,UAA8B,QAAa;oBACvC,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;gBAC7C,CAAC;gBAEO,oDAAqB,GAA7B,UAA8B,QAAa;oBACvC,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;gBAC7C,CAAC;gBA/BL;oBAAC,iBAAU,EAAE;;wCAAA;gBAgCb,2BAAC;YAAD,CAAC,AA/BD,IA+BC;YA/BD,uDA+BC,CAAA"} \ No newline at end of file +{"version":3,"file":"folder-actions.service.js","sourceRoot":"","sources":["folder-actions.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;;;;;;;;;;;;YAMH;gBAGI;oBAFQ,aAAQ,GAA4C,EAAE,CAAC;oBAG3D,qEAAqE;oBACrE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC;oBACtD,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC;gBAC1D,CAAC;gBAED,yCAAU,GAAV,UAAW,GAAW;oBAClB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAC9B,CAAC;gBAEO,oDAAqB,GAA7B,UAA8B,QAAa;oBACvC,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;gBAC7C,CAAC;gBAEO,oDAAqB,GAA7B,UAA8B,QAAa;oBACvC,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;gBAC7C,CAAC;gBApBL;oBAAC,iBAAU,EAAE;;wCAAA;gBAqBb,2BAAC;YAAD,CAAC,AApBD,IAoBC;YApBD,uDAoBC,CAAA"} \ No newline at end of file diff --git a/ng2-components/ng2-alfresco-login/ng2-alfresco-login.js b/ng2-components/ng2-alfresco-login/ng2-alfresco-login.js index 48473eb095..c87a5b6920 100644 --- a/ng2-components/ng2-alfresco-login/ng2-alfresco-login.js +++ b/ng2-components/ng2-alfresco-login/ng2-alfresco-login.js @@ -1,7 +1,7 @@ -System.register(['./src/components/alfresco-login', './src/services/alfresco-authentication'], function(exports_1, context_1) { +System.register(['./src/alfresco-login.component', './src/alfresco-authentication.service'], function(exports_1, context_1) { "use strict"; var __moduleName = context_1 && context_1.id; - var alfresco_login_1, alfresco_authentication_1; + var alfresco_login_component_1, alfresco_authentication_service_1; var ALFRESCO_LOGIN_DIRECTIVES, ALFRESCO_AUTHENTICATION; var exportedNames_1 = { 'ALFRESCO_LOGIN_DIRECTIVES': true, @@ -16,21 +16,21 @@ System.register(['./src/components/alfresco-login', './src/services/alfresco-aut } return { setters:[ - function (alfresco_login_1_1) { - alfresco_login_1 = alfresco_login_1_1; - exportStar_1(alfresco_login_1_1); + function (alfresco_login_component_1_1) { + alfresco_login_component_1 = alfresco_login_component_1_1; + exportStar_1(alfresco_login_component_1_1); }, - function (alfresco_authentication_1_1) { - alfresco_authentication_1 = alfresco_authentication_1_1; - exportStar_1(alfresco_authentication_1_1); + function (alfresco_authentication_service_1_1) { + alfresco_authentication_service_1 = alfresco_authentication_service_1_1; + exportStar_1(alfresco_authentication_service_1_1); }], execute: function() { exports_1("default",{ - directives: [alfresco_login_1.AlfrescoLoginComponent], - providers: [alfresco_authentication_1.AlfrescoAuthenticationService] + directives: [alfresco_login_component_1.AlfrescoLoginComponent], + providers: [alfresco_authentication_service_1.AlfrescoAuthenticationService] }); - exports_1("ALFRESCO_LOGIN_DIRECTIVES", ALFRESCO_LOGIN_DIRECTIVES = [alfresco_login_1.AlfrescoLoginComponent]); - exports_1("ALFRESCO_AUTHENTICATION", ALFRESCO_AUTHENTICATION = [alfresco_authentication_1.AlfrescoAuthenticationService]); + exports_1("ALFRESCO_LOGIN_DIRECTIVES", ALFRESCO_LOGIN_DIRECTIVES = [alfresco_login_component_1.AlfrescoLoginComponent]); + exports_1("ALFRESCO_AUTHENTICATION", ALFRESCO_AUTHENTICATION = [alfresco_authentication_service_1.AlfrescoAuthenticationService]); } } }); diff --git a/ng2-components/ng2-alfresco-login/ng2-alfresco-login.js.map b/ng2-components/ng2-alfresco-login/ng2-alfresco-login.js.map index c35d46677d..a99b750ffb 100644 --- a/ng2-components/ng2-alfresco-login/ng2-alfresco-login.js.map +++ b/ng2-components/ng2-alfresco-login/ng2-alfresco-login.js.map @@ -1 +1 @@ -{"version":3,"file":"ng2-alfresco-login.js","sourceRoot":"","sources":["ng2-alfresco-login.ts"],"names":[],"mappings":";;;;QA2Ba,yBAAyB,EACzB,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;YANpC,oBAAe;gBACX,UAAU,EAAE,CAAC,uCAAsB,CAAC;gBACpC,SAAS,EAAE,CAAC,uDAA6B,CAAC;aAC7C,EAAA;YAEY,uCAAA,yBAAyB,GAAU,CAAC,uCAAsB,CAAC,CAAA,CAAC;YAC5D,qCAAA,uBAAuB,GAAU,CAAC,uDAA6B,CAAC,CAAA,CAAC"} \ No newline at end of file +{"version":3,"file":"ng2-alfresco-login.js","sourceRoot":"","sources":["ng2-alfresco-login.ts"],"names":[],"mappings":";;;;QA2Ba,yBAAyB,EACzB,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;YANpC,oBAAe;gBACX,UAAU,EAAE,CAAC,iDAAsB,CAAC;gBACpC,SAAS,EAAE,CAAC,+DAA6B,CAAC;aAC7C,EAAA;YAEY,uCAAA,yBAAyB,GAAU,CAAC,iDAAsB,CAAC,CAAA,CAAC;YAC5D,qCAAA,uBAAuB,GAAU,CAAC,+DAA6B,CAAC,CAAA,CAAC"} \ No newline at end of file diff --git a/ng2-components/ng2-alfresco-login/package.json b/ng2-components/ng2-alfresco-login/package.json index 38f1c21efa..702f832812 100644 --- a/ng2-components/ng2-alfresco-login/package.json +++ b/ng2-components/ng2-alfresco-login/package.json @@ -42,7 +42,9 @@ "reflect-metadata": "0.1.2", "rxjs": "5.0.0-beta.2", "zone.js": "0.6.10", - "ng2-translate": "^1.11.2" + "ng2-translate": "^1.11.2", + "angular2": "2.0.0-beta.15", + "ng2-alfresco-core": "0.1.0" }, "peerDependencies": { "angular2": "2.0.0-beta.15", diff --git a/ng2-components/ng2-alfresco-login/tsconfig.json b/ng2-components/ng2-alfresco-login/tsconfig.json index c87ee683da..3c188700e6 100644 --- a/ng2-components/ng2-alfresco-login/tsconfig.json +++ b/ng2-components/ng2-alfresco-login/tsconfig.json @@ -10,10 +10,17 @@ "noImplicitAny": false, "declaration": true }, + "files":[ + "node_modules/angular2/typings/browser.d.ts", + "typings/browser/ambient/jasmine/index.d.ts", + "src/alfresco-login.component.ts", + "src/alfresco-login.component.spec.ts", + "src/alfresco-authentication.service.ts", + "src/alfresco-authentication.service.spec.ts" + ], "exclude": [ - "node_modules", - "typings/main", - "typings/main.d.ts", - "demo" + "**/node_modules", + "**/typings/main", + "**/typings/main.d.ts" ] } diff --git a/ng2-components/ng2-alfresco-upload/.gitignore b/ng2-components/ng2-alfresco-upload/.gitignore new file mode 100644 index 0000000000..8ef2c4d294 --- /dev/null +++ b/ng2-components/ng2-alfresco-upload/.gitignore @@ -0,0 +1,6 @@ +npm-debug.log +node_modules +jspm_packages +.idea +typings +coverage \ No newline at end of file diff --git a/ng2-components/ng2-alfresco-upload/.travis.yml b/ng2-components/ng2-alfresco-upload/.travis.yml new file mode 100755 index 0000000000..37844eeed9 --- /dev/null +++ b/ng2-components/ng2-alfresco-upload/.travis.yml @@ -0,0 +1,6 @@ +language: node_js +node_js: + - '5' +script: npm run coverage +# Send coverage data to Coveralls +after_script: "cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js" diff --git a/ng2-components/ng2-alfresco-upload/LICENSE b/ng2-components/ng2-alfresco-upload/LICENSE new file mode 100644 index 0000000000..430d42bbea --- /dev/null +++ b/ng2-components/ng2-alfresco-upload/LICENSE @@ -0,0 +1,177 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS diff --git a/ng2-components/ng2-alfresco-upload/README.md b/ng2-components/ng2-alfresco-upload/README.md new file mode 100644 index 0000000000..658ec66747 --- /dev/null +++ b/ng2-components/ng2-alfresco-upload/README.md @@ -0,0 +1,28 @@ +# Alfresco Upload Component for Angular 2 + +Components included: + +* Upload Component + +### Custom Upload Component + +```ts +import {Component} from 'angular2/core'; +import {Login} from 'ng2-alfresco-login/ng2-alfresco-login'; + +@Component({ + selector: 'my-login', + template: ' ', + directives: [Login] +}) +export class MyLoginComponent { + methodName: string = 'POST'; +} +``` + +### Build + +``` +$ npm install +$ npm run build +``` \ No newline at end of file diff --git a/ng2-components/ng2-alfresco-upload/assets/license_header.txt b/ng2-components/ng2-alfresco-upload/assets/license_header.txt new file mode 100644 index 0000000000..5cae403293 --- /dev/null +++ b/ng2-components/ng2-alfresco-upload/assets/license_header.txt @@ -0,0 +1,16 @@ +/** + * @license + * Copyright 2016 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ \ No newline at end of file diff --git a/ng2-components/ng2-alfresco-upload/fonts/material-icons.woff2 b/ng2-components/ng2-alfresco-upload/fonts/material-icons.woff2 new file mode 100644 index 0000000000..e69de29bb2 diff --git a/ng2-components/ng2-alfresco-upload/i18n/en.json b/ng2-components/ng2-alfresco-upload/i18n/en.json new file mode 100644 index 0000000000..e69de29bb2 diff --git a/ng2-components/ng2-alfresco-upload/i18n/it.json b/ng2-components/ng2-alfresco-upload/i18n/it.json new file mode 100644 index 0000000000..e69de29bb2 diff --git a/ng2-components/ng2-alfresco-upload/ng2-alfresco-upload.d.ts b/ng2-components/ng2-alfresco-upload/ng2-alfresco-upload.d.ts new file mode 100644 index 0000000000..d8a0ccf554 --- /dev/null +++ b/ng2-components/ng2-alfresco-upload/ng2-alfresco-upload.d.ts @@ -0,0 +1,28 @@ +/** + * @license + * Copyright 2016 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { UploadComponent } from './src/components/upload.component'; +import { UploadService } from './src/services/upload.service'; +import { FileSelectDirective } from './src/directives/file-select.directive'; +import { FileDraggableDirective } from './src/directives/file-draggable.directive'; +export * from './src/components/upload.component'; +export * from './src/services/upload.service'; +declare var _default: { + component: typeof UploadComponent[]; + directives: (typeof FileSelectDirective | typeof FileDraggableDirective)[]; + providers: typeof UploadService[]; +}; +export default _default; diff --git a/ng2-components/ng2-alfresco-upload/ng2-alfresco-upload.js b/ng2-components/ng2-alfresco-upload/ng2-alfresco-upload.js new file mode 100644 index 0000000000..78395cc725 --- /dev/null +++ b/ng2-components/ng2-alfresco-upload/ng2-alfresco-upload.js @@ -0,0 +1,53 @@ +/** + * @license + * Copyright 2016 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +System.register(['./src/components/upload.component', './src/services/upload.service', './src/directives/file-select.directive', './src/directives/file-draggable.directive'], function(exports_1, context_1) { + "use strict"; + var __moduleName = context_1 && context_1.id; + var upload_component_1, upload_service_1, file_select_directive_1, file_draggable_directive_1; + function exportStar_1(m) { + var exports = {}; + for(var n in m) { + if (n !== "default") exports[n] = m[n]; + } + exports_1(exports); + } + return { + setters:[ + function (upload_component_1_1) { + upload_component_1 = upload_component_1_1; + exportStar_1(upload_component_1_1); + }, + function (upload_service_1_1) { + upload_service_1 = upload_service_1_1; + exportStar_1(upload_service_1_1); + }, + function (file_select_directive_1_1) { + file_select_directive_1 = file_select_directive_1_1; + }, + function (file_draggable_directive_1_1) { + file_draggable_directive_1 = file_draggable_directive_1_1; + }], + execute: function() { + exports_1("default",{ + component: [upload_component_1.UploadComponent], + directives: [file_select_directive_1.FileSelectDirective, file_draggable_directive_1.FileDraggableDirective], + providers: [upload_service_1.UploadService] + }); + } + } +}); +//# sourceMappingURL=ng2-alfresco-upload.js.map \ No newline at end of file diff --git a/ng2-components/ng2-alfresco-upload/ng2-alfresco-upload.js.map b/ng2-components/ng2-alfresco-upload/ng2-alfresco-upload.js.map new file mode 100644 index 0000000000..fbd0942d5b --- /dev/null +++ b/ng2-components/ng2-alfresco-upload/ng2-alfresco-upload.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ng2-alfresco-upload.js","sourceRoot":"","sources":["ng2-alfresco-upload.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAUH,oBAAe;gBACX,SAAS,EAAE,CAAC,kCAAe,CAAC;gBAC5B,UAAU,EAAE,CAAC,2CAAmB,EAAE,iDAAsB,CAAC;gBACzD,SAAS,EAAE,CAAC,8BAAa,CAAC;aAC7B,EAAA"} \ No newline at end of file diff --git a/ng2-components/ng2-alfresco-upload/ng2-alfresco-upload.ts b/ng2-components/ng2-alfresco-upload/ng2-alfresco-upload.ts new file mode 100644 index 0000000000..b707ed5062 --- /dev/null +++ b/ng2-components/ng2-alfresco-upload/ng2-alfresco-upload.ts @@ -0,0 +1,30 @@ +/** + * @license + * Copyright 2016 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import {UploadComponent} from './src/components/upload.component'; +import {UploadService} from './src/services/upload.service'; +import {FileSelectDirective} from './src/directives/file-select.directive'; +import {FileDraggableDirective} from './src/directives/file-draggable.directive'; + +export * from './src/components/upload.component'; +export * from './src/services/upload.service'; + +export default { + component: [UploadComponent], + directives: [FileSelectDirective, FileDraggableDirective], + providers: [UploadService] +} \ No newline at end of file diff --git a/ng2-components/ng2-alfresco-upload/package.json b/ng2-components/ng2-alfresco-upload/package.json new file mode 100644 index 0000000000..8bae61d75d --- /dev/null +++ b/ng2-components/ng2-alfresco-upload/package.json @@ -0,0 +1,67 @@ +{ + "name": "ng2-alfresco-upload", + "description": "Alfresco Angular2 Upload Component", + "version": "0.1.0", + "author": "Alfresco Software, Ltd.", + "scripts": { + "build": "tslint -c tslint.json **/*.ts && typings install && tsc && license-check", + "licensecheck": "license-check", + "tsc": "tsc", + "tsc:w": "tsc -w", + "typings": "typings", + "test": "live-server --open=tests-runner.html" + }, + "repository": { + "type": "git", + "url": "https://github.com/Alfresco/dev-platform-webcomponents.git" + }, + "bugs": { + "url": "https://github.com/Alfresco/dev-platform-webcomponents/issues" + }, + "license": "Apache-2.0", + "contributors": [ + { + "name": "Mario Romano", + "email": "mario.romano83@gmail.com" + } + ], + "keywords": [ + "ng2", + "angular", + "angular2", + "alfresco" + ], + "dependencies": { + "angular2": "2.0.0-beta.15", + "systemjs": "0.19.26", + "es6-shim": "^0.35.0", + "reflect-metadata": "0.1.2", + "rxjs": "5.0.0-beta.2", + "zone.js": "0.6.10", + "ng2-translate": "^1.11.2" + }, + "peerDependencies": { + "angular2": "2.0.0-beta.15", + "ng2-alfresco-core": "0.1.0" + }, + "devDependencies": { + "coveralls": "^2.11.9", + "jasmine-core": "2.4.1", + "license-check": "^1.0.4", + "live-server": "^0.9.2", + "tslint": "^3.8.1", + "typescript": "^1.8.10", + "typings": "^0.7.12" + }, + "license-check-config": { + "src": [ + "**/*.ts", + "!/node_modules/**/*", + "!/typings/**/*" + ], + "path": "assets/license_header.txt", + "blocking": false, + "logInfo": false, + "logError": true + } +} diff --git a/ng2-components/ng2-alfresco-upload/src/components/file-uploading-dialog.component.css b/ng2-components/ng2-alfresco-upload/src/components/file-uploading-dialog.component.css new file mode 100644 index 0000000000..6c9ba10cee --- /dev/null +++ b/ng2-components/ng2-alfresco-upload/src/components/file-uploading-dialog.component.css @@ -0,0 +1,115 @@ + +.file-dialog { + display: none; + -webkit-box-shadow: 0 2px 8px 0 rgba(0, 0, 0, .2); + box-shadow: 0 2px 8px 0 rgba(0, 0, 0, .2); + -webkit-border-radius: 2px; + border-radius: 2px; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + -webkit-transition-delay: 0s; + transition-delay: 0s; + opacity: 1; + -webkit-transition: transform .15s cubic-bezier(0.4, 0.0, 1, 1), opacity .15s cubic-bezier(0.4, 0.0, 1, 1), visibility 0ms linear .15s; + transition: transform .15s cubic-bezier(0.4, 0.0, 1, 1), opacity .15s cubic-bezier(0.4, 0.0, 1, 1), visibility 0ms linear .15s; + bottom: 0px; + left: auto; + max-height: 350px; + overflow: visible; + right: 24px; + position: absolute; +} + +.file-dialog .header { + width: 900px; + background-color: #0c79bf; + border: 1px transparent solid; + -moz-border-radius-topleft: 2px; + -webkit-border-top-left-radius: 2px; + border-top-left-radius: 2px; + -moz-border-radius-topright: 2px; + -webkit-border-top-right-radius: 2px; + border-top-right-radius: 2px; + bottom: 0px; + color: white; + font-size: 14px; + height: 52px; + line-height: 52px; + padding: 0px 10px 0px 10px; +} + +.file-dialog .header .title { + float: left; + min-width: 200px; + color: white; +} + +.file-dialog .header .buttons { + float: right; + padding: 10px 10px 10px 10px; + text-align: center; + color: white; + font-size: 14px; + opacity: 0.5; +} + +.file-dialog .header .close-button { + cursor: pointer; + float: left; + height: 35px; + width: 35px; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + border-radius: 2px; + border: 1px solid transparent; +} + +.file-dialog .header .close-button:hover { + border: 1px solid white; + opacity: 1.0; +} + +.file-dialog .header .minimize-button { + cursor: pointer; + float: left; + height: 35px; + width: 35px; + margin-right: 10px; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + border-radius: 2px; + border: 1px solid transparent; +} + +.up { + display: none; +} + +.down { + display: block; +} + +.active .up { + display: block; +} + +.active .down { + display: none; +} + +.file-dialog .header .minimize-button:hover { + border: 1px solid white; + opacity: 1.0; +} + +.file-dialog .body-dialog { + float: left; + height: 100%; + width: 100%; + margin-top: -4px; + border-bottom: 1px solid #C0C0C0; + border-right: 1px solid #C0C0C0; + border-left: 1px solid #C0C0C0; + max-height: 200px; + overflow-y: auto; +} \ No newline at end of file diff --git a/ng2-components/ng2-alfresco-upload/src/components/file-uploading-dialog.component.d.ts b/ng2-components/ng2-alfresco-upload/src/components/file-uploading-dialog.component.d.ts new file mode 100644 index 0000000000..3d1baaf31c --- /dev/null +++ b/ng2-components/ng2-alfresco-upload/src/components/file-uploading-dialog.component.d.ts @@ -0,0 +1,28 @@ +/** + * @license + * Copyright 2016 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { ElementRef } from 'angular2/core'; +import { FileModel } from '../models/file.model'; +export declare class FileUploadingDialogComponent { + el: ElementRef; + filesUploadingList: FileModel[]; + _isDialogActive: boolean; + _isDialogMinimized: boolean; + constructor(el: ElementRef); + toggleDialog($event: any): void; + showDialog(): void; + toggleDialogMinimize($event: any): void; +} diff --git a/ng2-components/ng2-alfresco-upload/src/components/file-uploading-dialog.component.html b/ng2-components/ng2-alfresco-upload/src/components/file-uploading-dialog.component.html new file mode 100644 index 0000000000..ba242ef5c9 --- /dev/null +++ b/ng2-components/ng2-alfresco-upload/src/components/file-uploading-dialog.component.html @@ -0,0 +1,20 @@ +
+
+
+ {{filesUploadingList.length}} uploads complete +
+
+
+ keyboard_arrow_down + keyboard_arrow_up +
+ +
+ clear +
+
+
+
+ +
+
\ No newline at end of file diff --git a/ng2-components/ng2-alfresco-upload/src/components/file-uploading-dialog.component.js b/ng2-components/ng2-alfresco-upload/src/components/file-uploading-dialog.component.js new file mode 100644 index 0000000000..03bac2b593 --- /dev/null +++ b/ng2-components/ng2-alfresco-upload/src/components/file-uploading-dialog.component.js @@ -0,0 +1,77 @@ +/** + * @license + * Copyright 2016 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +System.register(['angular2/core', './file-uploading-list.component'], function(exports_1, context_1) { + "use strict"; + var __moduleName = context_1 && context_1.id; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1, file_uploading_list_component_1; + var FileUploadingDialogComponent; + return { + setters:[ + function (core_1_1) { + core_1 = core_1_1; + }, + function (file_uploading_list_component_1_1) { + file_uploading_list_component_1 = file_uploading_list_component_1_1; + }], + execute: function() { + FileUploadingDialogComponent = (function () { + function FileUploadingDialogComponent(el) { + this.el = el; + this._isDialogActive = false; + this._isDialogMinimized = false; + console.log('FileUploadingDialogComponent constructor', el); + } + FileUploadingDialogComponent.prototype.toggleDialog = function ($event) { + this._isDialogActive = !this._isDialogActive; + }; + FileUploadingDialogComponent.prototype.showDialog = function () { + this._isDialogActive = true; + }; + FileUploadingDialogComponent.prototype.toggleDialogMinimize = function ($event) { + this._isDialogMinimized = !this._isDialogMinimized; + }; + __decorate([ + core_1.Input(), + __metadata('design:type', Array) + ], FileUploadingDialogComponent.prototype, "filesUploadingList", void 0); + FileUploadingDialogComponent = __decorate([ + core_1.Component({ + selector: 'file-uploading-dialog', + moduleId: __moduleName, + directives: [file_uploading_list_component_1.FileUploadingListComponent], + templateUrl: './file-uploading-dialog.component.html', + styleUrls: ['./file-uploading-dialog.component.css'], + host: { '[class.dialog-show]': 'toggleDialog' } + }), + __metadata('design:paramtypes', [core_1.ElementRef]) + ], FileUploadingDialogComponent); + return FileUploadingDialogComponent; + }()); + exports_1("FileUploadingDialogComponent", FileUploadingDialogComponent); + } + } +}); +//# sourceMappingURL=file-uploading-dialog.component.js.map \ No newline at end of file diff --git a/ng2-components/ng2-alfresco-upload/src/components/file-uploading-dialog.component.js.map b/ng2-components/ng2-alfresco-upload/src/components/file-uploading-dialog.component.js.map new file mode 100644 index 0000000000..20cf8f277e --- /dev/null +++ b/ng2-components/ng2-alfresco-upload/src/components/file-uploading-dialog.component.js.map @@ -0,0 +1 @@ +{"version":3,"file":"file-uploading-dialog.component.js","sourceRoot":"","sources":["file-uploading-dialog.component.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;;;;;;;;;;;;;;;YAiBH;gBASI,sCAAmB,EAAa;oBAAb,OAAE,GAAF,EAAE,CAAW;oBAJhC,oBAAe,GAAW,KAAK,CAAC;oBAEhC,uBAAkB,GAAW,KAAK,CAAC;oBAG/B,OAAO,CAAC,GAAG,CAAC,0CAA0C,EAAE,EAAE,CAAC,CAAC;gBAChE,CAAC;gBAED,mDAAY,GAAZ,UAAa,MAAM;oBACf,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;gBACjD,CAAC;gBAED,iDAAU,GAAV;oBACI,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;gBAChC,CAAC;gBAED,2DAAoB,GAApB,UAAqB,MAAM;oBACvB,IAAI,CAAC,kBAAkB,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC;gBACvD,CAAC;gBArBD;oBAAC,YAAK,EAAE;;wFAAA;gBAVZ;oBAAC,gBAAS,CAAC;wBACP,QAAQ,EAAE,uBAAuB;wBACjC,QAAQ,EAAE,YAAY;wBACtB,UAAU,EAAE,CAAC,0DAA0B,CAAC;wBACxC,WAAW,EAAE,wCAAwC;wBACrD,SAAS,EAAE,CAAC,uCAAuC,CAAC;wBACpD,IAAI,EAAE,EAAC,qBAAqB,EAAE,cAAc,EAAC;qBAChD,CAAC;;gDAAA;gBAyBF,mCAAC;YAAD,CAAC,AAxBD,IAwBC;YAxBD,uEAwBC,CAAA"} \ No newline at end of file diff --git a/ng2-components/ng2-alfresco-upload/src/components/file-uploading-dialog.component.ts b/ng2-components/ng2-alfresco-upload/src/components/file-uploading-dialog.component.ts new file mode 100644 index 0000000000..6f9347e8be --- /dev/null +++ b/ng2-components/ng2-alfresco-upload/src/components/file-uploading-dialog.component.ts @@ -0,0 +1,57 @@ +/** + * @license + * Copyright 2016 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +import {Component, ElementRef, Input} from 'angular2/core'; +import {FileModel} from '../models/file.model'; +import {FileUploadingListComponent} from './file-uploading-list.component'; + +declare let __moduleName:string; + +@Component({ + selector: 'file-uploading-dialog', + moduleId: __moduleName, + directives: [FileUploadingListComponent], + templateUrl: './file-uploading-dialog.component.html', + styleUrls: ['./file-uploading-dialog.component.css'], + host: {'[class.dialog-show]': 'toggleDialog'} +}) +export class FileUploadingDialogComponent { + + @Input() + filesUploadingList:FileModel []; + + _isDialogActive:boolean = false; + + _isDialogMinimized:boolean = false; + + constructor(public el:ElementRef) { + console.log('FileUploadingDialogComponent constructor', el); + } + + toggleDialog($event) { + this._isDialogActive = !this._isDialogActive; + } + + showDialog() { + this._isDialogActive = true; + } + + toggleDialogMinimize($event) { + this._isDialogMinimized = !this._isDialogMinimized; + } +} \ No newline at end of file diff --git a/ng2-components/ng2-alfresco-upload/src/components/file-uploading-list.component.css b/ng2-components/ng2-alfresco-upload/src/components/file-uploading-list.component.css new file mode 100644 index 0000000000..6b7bdc155b --- /dev/null +++ b/ng2-components/ng2-alfresco-upload/src/components/file-uploading-list.component.css @@ -0,0 +1,8 @@ +.mdl-data-table { + width: 100%; + border: 0px; +} + +.cursor { + cursor: pointer; +} \ No newline at end of file diff --git a/ng2-components/ng2-alfresco-upload/src/components/file-uploading-list.component.d.ts b/ng2-components/ng2-alfresco-upload/src/components/file-uploading-list.component.d.ts new file mode 100644 index 0000000000..f6e40fa927 --- /dev/null +++ b/ng2-components/ng2-alfresco-upload/src/components/file-uploading-list.component.d.ts @@ -0,0 +1,24 @@ +/** + * @license + * Copyright 2016 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { ElementRef } from 'angular2/core'; +import { FileModel } from '../models/file.model'; +export declare class FileUploadingListComponent { + el: ElementRef; + filesUploadingList: FileModel[]; + constructor(el: ElementRef); + abort(id: any): void; +} diff --git a/ng2-components/ng2-alfresco-upload/src/components/file-uploading-list.component.html b/ng2-components/ng2-alfresco-upload/src/components/file-uploading-list.component.html new file mode 100644 index 0000000000..ddf186cbfc --- /dev/null +++ b/ng2-components/ng2-alfresco-upload/src/components/file-uploading-list.component.html @@ -0,0 +1,22 @@ + + + + + + + + + +
{{file.name}} +
+
+
+
+
+
{{file.size}} + done + play_arrow + remove_circle + pause +
\ No newline at end of file diff --git a/ng2-components/ng2-alfresco-upload/src/components/file-uploading-list.component.js b/ng2-components/ng2-alfresco-upload/src/components/file-uploading-list.component.js new file mode 100644 index 0000000000..240ff16377 --- /dev/null +++ b/ng2-components/ng2-alfresco-upload/src/components/file-uploading-list.component.js @@ -0,0 +1,70 @@ +/** + * @license + * Copyright 2016 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +System.register(['angular2/core'], function(exports_1, context_1) { + "use strict"; + var __moduleName = context_1 && context_1.id; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1; + var FileUploadingListComponent; + return { + setters:[ + function (core_1_1) { + core_1 = core_1_1; + }], + execute: function() { + FileUploadingListComponent = (function () { + function FileUploadingListComponent(el) { + this.el = el; + console.log('filesUploadingList constructor', el); + setInterval(function () { + console.log('Check for async update from drag directive'); + }, 1000); + } + FileUploadingListComponent.prototype.abort = function (id) { + var file = this.filesUploadingList.filter(function (uploadingFileModel) { + return uploadingFileModel.id == id; + }); + file[0].setAbort(); + }; + __decorate([ + core_1.Input(), + __metadata('design:type', Array) + ], FileUploadingListComponent.prototype, "filesUploadingList", void 0); + FileUploadingListComponent = __decorate([ + core_1.Component({ + selector: 'alfresco-file-uploading-list', + moduleId: __moduleName, + templateUrl: './file-uploading-list.component.html', + styleUrls: ['./file-uploading-list.component.css'] + }), + __metadata('design:paramtypes', [core_1.ElementRef]) + ], FileUploadingListComponent); + return FileUploadingListComponent; + }()); + exports_1("FileUploadingListComponent", FileUploadingListComponent); + } + } +}); +//# sourceMappingURL=file-uploading-list.component.js.map \ No newline at end of file diff --git a/ng2-components/ng2-alfresco-upload/src/components/file-uploading-list.component.js.map b/ng2-components/ng2-alfresco-upload/src/components/file-uploading-list.component.js.map new file mode 100644 index 0000000000..066a3553f1 --- /dev/null +++ b/ng2-components/ng2-alfresco-upload/src/components/file-uploading-list.component.js.map @@ -0,0 +1 @@ +{"version":3,"file":"file-uploading-list.component.js","sourceRoot":"","sources":["file-uploading-list.component.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;;;;;;;;;;;;YAcH;gBAKI,oCAAmB,EAAa;oBAAb,OAAE,GAAF,EAAE,CAAW;oBAC5B,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAAE,EAAE,CAAC,CAAC;oBAElD,WAAW,CAAC;wBACR,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;oBAC9D,CAAC,EAAE,IAAI,CAAC,CAAC;gBACb,CAAC;gBAED,0CAAK,GAAL,UAAM,EAAE;oBACJ,IAAI,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,UAAC,kBAAkB;wBACzD,MAAM,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,CAAC;oBACvC,CAAC,CAAC,CAAC;oBACH,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACvB,CAAC;gBAhBD;oBAAC,YAAK,EAAE;;sFAAA;gBARZ;oBAAC,gBAAS,CAAC;wBACP,QAAQ,EAAE,8BAA8B;wBACxC,QAAQ,EAAE,YAAY;wBACtB,WAAW,EAAE,sCAAsC;wBACnD,SAAS,EAAE,CAAC,qCAAqC,CAAC;qBACrD,CAAC;;8CAAA;gBAoBF,iCAAC;YAAD,CAAC,AAnBD,IAmBC;YAnBD,mEAmBC,CAAA"} \ No newline at end of file diff --git a/ng2-components/ng2-alfresco-upload/src/components/file-uploading-list.component.ts b/ng2-components/ng2-alfresco-upload/src/components/file-uploading-list.component.ts new file mode 100644 index 0000000000..3c5293a7a4 --- /dev/null +++ b/ng2-components/ng2-alfresco-upload/src/components/file-uploading-list.component.ts @@ -0,0 +1,49 @@ +/** + * @license + * Copyright 2016 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +import {Component, ElementRef, Input} from 'angular2/core'; +import {FileModel} from '../models/file.model'; + +declare let __moduleName:string; + +@Component({ + selector: 'alfresco-file-uploading-list', + moduleId: __moduleName, + templateUrl: './file-uploading-list.component.html', + styleUrls: ['./file-uploading-list.component.css'] +}) +export class FileUploadingListComponent { + + @Input() + filesUploadingList:FileModel []; + + constructor(public el:ElementRef) { + console.log('filesUploadingList constructor', el); + + setInterval(() => { + console.log('Check for async update from drag directive'); + }, 1000); + } + + abort(id):void { + let file = this.filesUploadingList.filter((uploadingFileModel) => { + return uploadingFileModel.id == id; + }); + file[0].setAbort(); + } +} diff --git a/ng2-components/ng2-alfresco-upload/src/components/upload.component.css b/ng2-components/ng2-alfresco-upload/src/components/upload.component.css new file mode 100644 index 0000000000..858e610b34 --- /dev/null +++ b/ng2-components/ng2-alfresco-upload/src/components/upload.component.css @@ -0,0 +1,35 @@ +.mdl-button--file input { + cursor: pointer; + height: 100%; + right: 0; + opacity: 0; + position: absolute; + top: 0; + width: 300px; + z-index: 4; +} + +.mdl-textfield--file .mdl-textfield__input { + box-sizing: border-box; + width: calc(100% - 32px); +} + +.mdl-textfield--file .mdl-button--file { + right: 0; +} + +.upload-border { + vertical-align: middle; + color: #555; + padding: 20px; + max-height: 300px; + overflow-y: auto; + display: inline-block; + border: 3px dashed #555; + text-align: center; +} + +.input-focus { + color: #2196F3; + border: 3px dashed #2196F3; +} \ No newline at end of file diff --git a/ng2-components/ng2-alfresco-upload/src/components/upload.component.d.ts b/ng2-components/ng2-alfresco-upload/src/components/upload.component.d.ts new file mode 100644 index 0000000000..84f84fbbd1 --- /dev/null +++ b/ng2-components/ng2-alfresco-upload/src/components/upload.component.d.ts @@ -0,0 +1,31 @@ +/** + * @license + * Copyright 2016 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { ElementRef } from 'angular2/core'; +import { FileModel } from '../models/file.model'; +import { FileUploadingDialogComponent } from './file-uploading-dialog.component'; +export declare class UploadComponent { + el: ElementRef; + private _uploaderService; + method: string; + undoNotificationBar: any; + fileUploadingDialogComponent: FileUploadingDialogComponent; + filesUploadingList: FileModel[]; + constructor(el: ElementRef); + onFilesAdded(files: any): void; + showUndoNotificationBar(latestFilesAdded: any): void; + showDialog(): void; +} diff --git a/ng2-components/ng2-alfresco-upload/src/components/upload.component.html b/ng2-components/ng2-alfresco-upload/src/components/upload.component.html new file mode 100644 index 0000000000..45035ed5e6 --- /dev/null +++ b/ng2-components/ng2-alfresco-upload/src/components/upload.component.html @@ -0,0 +1,52 @@ +
+ + + +
+
+ file_upload Upload +
+ +

+ +
+ file_upload Upload Folder +
+ +

+ +
+ Drop Area +
+ +
+ + +
+ + + + + + + + +
+
+ +
+ +
+
diff --git a/ng2-components/ng2-alfresco-upload/src/components/upload.component.js b/ng2-components/ng2-alfresco-upload/src/components/upload.component.js new file mode 100644 index 0000000000..073b6c7db4 --- /dev/null +++ b/ng2-components/ng2-alfresco-upload/src/components/upload.component.js @@ -0,0 +1,122 @@ +/** + * @license + * Copyright 2016 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +System.register(['angular2/core', '../services/upload.service', './file-uploading-dialog.component', '../directives/file-select.directive', '../directives/file-draggable.directive'], function(exports_1, context_1) { + "use strict"; + var __moduleName = context_1 && context_1.id; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1, upload_service_1, file_uploading_dialog_component_1, file_select_directive_1, file_draggable_directive_1; + var UploadComponent; + return { + setters:[ + function (core_1_1) { + core_1 = core_1_1; + }, + function (upload_service_1_1) { + upload_service_1 = upload_service_1_1; + }, + function (file_uploading_dialog_component_1_1) { + file_uploading_dialog_component_1 = file_uploading_dialog_component_1_1; + }, + function (file_select_directive_1_1) { + file_select_directive_1 = file_select_directive_1_1; + }, + function (file_draggable_directive_1_1) { + file_draggable_directive_1 = file_draggable_directive_1_1; + }], + execute: function() { + UploadComponent = (function () { + function UploadComponent(el) { + this.el = el; + this.method = 'GET'; + this.filesUploadingList = []; + console.log('UploadComponent constructor', el); + this._uploaderService = new upload_service_1.UploadService({ + url: 'http://192.168.99.100:8080/alfresco/service/api/upload', + withCredentials: true, + authToken: btoa('admin:admin'), + authTokenPrefix: 'Basic', + fieldName: 'filedata', + formFields: { + siteid: 'swsdp', + containerid: 'documentLibrary' + } + }); + } + UploadComponent.prototype.onFilesAdded = function (files) { + var latestFilesAdded = []; + if (componentHandler) { + componentHandler.upgradeAllRegistered(); + } + if (files.length) { + latestFilesAdded = this._uploaderService.addToQueue(files); + this.filesUploadingList = this._uploaderService.getQueue(); + this.showDialog(); + this.showUndoNotificationBar(latestFilesAdded); + } + }; + UploadComponent.prototype.showUndoNotificationBar = function (latestFilesAdded) { + this.snackbarContainer.nativeElement.MaterialSnackbar.showSnackbar({ + message: 'Upload in progress...', + timeout: 5000, + actionHandler: function () { + latestFilesAdded.forEach(function (uploadingFileModel) { + uploadingFileModel.setAbort(); + }); + }, + actionText: 'Undo' + }); + }; + UploadComponent.prototype.showDialog = function () { + this.fileUploadingDialogComponent.showDialog(); + }; + __decorate([ + core_1.Input(), + __metadata('design:type', String) + ], UploadComponent.prototype, "method", void 0); + __decorate([ + core_1.ViewChild('undoNotificationBar'), + __metadata('design:type', Object) + ], UploadComponent.prototype, "undoNotificationBar", void 0); + __decorate([ + core_1.ViewChild('fileUploadingDialog'), + __metadata('design:type', file_uploading_dialog_component_1.FileUploadingDialogComponent) + ], UploadComponent.prototype, "fileUploadingDialogComponent", void 0); + UploadComponent = __decorate([ + core_1.Component({ + selector: 'alfresco-upload', + moduleId: __moduleName, + directives: [file_select_directive_1.FileSelectDirective, file_draggable_directive_1.FileDraggableDirective, file_uploading_dialog_component_1.FileUploadingDialogComponent], + templateUrl: './upload.component.html', + styleUrls: ['./upload.component.css'] + }), + __metadata('design:paramtypes', [core_1.ElementRef]) + ], UploadComponent); + return UploadComponent; + }()); + exports_1("UploadComponent", UploadComponent); + } + } +}); +//# sourceMappingURL=upload.component.js.map \ No newline at end of file diff --git a/ng2-components/ng2-alfresco-upload/src/components/upload.component.js.map b/ng2-components/ng2-alfresco-upload/src/components/upload.component.js.map new file mode 100644 index 0000000000..69b18b2b59 --- /dev/null +++ b/ng2-components/ng2-alfresco-upload/src/components/upload.component.js.map @@ -0,0 +1 @@ +{"version":3,"file":"upload.component.js","sourceRoot":"","sources":["upload.component.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAqBH;gBAeI,yBAAmB,EAAa;oBAAb,OAAE,GAAF,EAAE,CAAW;oBAVhC,WAAM,GAAU,KAAK,CAAC;oBAQtB,uBAAkB,GAAgB,EAAE,CAAC;oBAGjC,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,EAAE,CAAC,CAAC;oBAE/C,IAAI,CAAC,gBAAgB,GAAG,IAAI,8BAAa,CAAC;wBACtC,GAAG,EAAE,wDAAwD;wBAC7D,eAAe,EAAE,IAAI;wBACrB,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC;wBAC9B,eAAe,EAAE,OAAO;wBACxB,SAAS,EAAE,UAAU;wBACrB,UAAU,EAAE;4BACR,MAAM,EAAE,OAAO;4BACf,WAAW,EAAE,iBAAiB;yBACjC;qBACJ,CAAC,CAAC;gBACP,CAAC;gBAED,sCAAY,GAAZ,UAAa,KAAK;oBACd,IAAI,gBAAgB,GAAgB,EAAE,CAAC;oBACvC,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;wBACnB,gBAAgB,CAAC,oBAAoB,EAAE,CAAC;oBAC5C,CAAC;oBAED,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;wBACf,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;wBAC3D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;wBAC3D,IAAI,CAAC,UAAU,EAAE,CAAC;wBAClB,IAAI,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;oBACnD,CAAC;gBACL,CAAC;gBAED,iDAAuB,GAAvB,UAAwB,gBAAgB;oBACpC,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,gBAAgB,CAAC,YAAY,CAAC;wBAC/D,OAAO,EAAE,uBAAuB;wBAChC,OAAO,EAAE,IAAI;wBACb,aAAa,EAAE;4BACX,gBAAgB,CAAC,OAAO,CAAC,UAAC,kBAAkB;gCACxC,kBAAkB,CAAC,QAAQ,EAAE,CAAC;4BAClC,CAAC,CAAC,CAAC;wBACP,CAAC;wBACD,UAAU,EAAE,MAAM;qBACrB,CAAC,CAAC;gBACP,CAAC;gBAED,oCAAU,GAAV;oBACI,IAAI,CAAC,4BAA4B,CAAC,UAAU,EAAE,CAAC;gBACnD,CAAC;gBAxDD;oBAAC,YAAK,EAAE;;+DAAA;gBAGR;oBAAC,gBAAS,CAAC,qBAAqB,CAAC;;4EAAA;gBAGjC;oBAAC,gBAAS,CAAC,qBAAqB,CAAC;;qFAAA;gBAjBrC;oBAAC,gBAAS,CAAC;wBACP,QAAQ,EAAE,iBAAiB;wBAC3B,QAAQ,EAAE,YAAY;wBACtB,UAAU,EAAE,CAAC,2CAAmB,EAAE,iDAAsB,EAAE,8DAA4B,CAAC;wBACvF,WAAW,EAAE,yBAAyB;wBACtC,SAAS,EAAE,CAAC,wBAAwB,CAAC;qBACxC,CAAC;;mCAAA;gBA8DF,sBAAC;YAAD,CAAC,AA7DD,IA6DC;YA7DD,6CA6DC,CAAA"} \ No newline at end of file diff --git a/ng2-components/ng2-alfresco-upload/src/components/upload.component.ts b/ng2-components/ng2-alfresco-upload/src/components/upload.component.ts new file mode 100644 index 0000000000..6d68e4e1da --- /dev/null +++ b/ng2-components/ng2-alfresco-upload/src/components/upload.component.ts @@ -0,0 +1,98 @@ +/** + * @license + * Copyright 2016 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +import {Component, Input, ViewChild, ElementRef} from 'angular2/core'; +import {UploadService} from '../services/upload.service'; +import {FileModel} from '../models/file.model'; +import {FileUploadingDialogComponent} from './file-uploading-dialog.component'; +import {FileSelectDirective} from '../directives/file-select.directive'; +import {FileDraggableDirective} from '../directives/file-draggable.directive'; + +declare let componentHandler; +declare let dialogPolyfill; +declare let __moduleName:string; + +@Component({ + selector: 'alfresco-upload', + moduleId: __moduleName, + directives: [FileSelectDirective, FileDraggableDirective, FileUploadingDialogComponent], + templateUrl: './upload.component.html', + styleUrls: ['./upload.component.css'] +}) +export class UploadComponent { + + private _uploaderService:UploadService; + + @Input() + method:string = 'GET'; + + @ViewChild('undoNotificationBar') + undoNotificationBar; + + @ViewChild('fileUploadingDialog') + fileUploadingDialogComponent:FileUploadingDialogComponent; + + filesUploadingList:FileModel [] = []; + + constructor(public el:ElementRef) { + console.log('UploadComponent constructor', el); + + this._uploaderService = new UploadService({ + url: 'http://192.168.99.100:8080/alfresco/service/api/upload', + withCredentials: true, + authToken: btoa('admin:admin'), + authTokenPrefix: 'Basic', + fieldName: 'filedata', + formFields: { + siteid: 'swsdp', + containerid: 'documentLibrary' + } + }); + } + + onFilesAdded(files):void { + let latestFilesAdded:FileModel [] = []; + if (componentHandler) { + componentHandler.upgradeAllRegistered(); + } + + if (files.length) { + latestFilesAdded = this._uploaderService.addToQueue(files); + this.filesUploadingList = this._uploaderService.getQueue(); + this.showDialog(); + this.showUndoNotificationBar(latestFilesAdded); + } + } + + showUndoNotificationBar(latestFilesAdded){ + this.snackbarContainer.nativeElement.MaterialSnackbar.showSnackbar({ + message: 'Upload in progress...', + timeout: 5000, + actionHandler: function () { + latestFilesAdded.forEach((uploadingFileModel) => { + uploadingFileModel.setAbort(); + }); + }, + actionText: 'Undo' + }); + } + + showDialog():void { + this.fileUploadingDialogComponent.showDialog(); + } +} diff --git a/ng2-components/ng2-alfresco-upload/src/directives/file-draggable.directive.d.ts b/ng2-components/ng2-alfresco-upload/src/directives/file-draggable.directive.d.ts new file mode 100644 index 0000000000..9e00f4f99b --- /dev/null +++ b/ng2-components/ng2-alfresco-upload/src/directives/file-draggable.directive.d.ts @@ -0,0 +1,29 @@ +/** + * @license + * Copyright 2016 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { ElementRef, EventEmitter } from 'angular2/core'; +export declare class FileDraggableDirective { + el: ElementRef; + onFilesAdded: EventEmitter; + files: File[]; + private _inputFocusClass; + constructor(el: ElementRef); + private _onDropFiles($event); + private _traverseFileTree(item, x); + private _onDragEnter($event); + private _onDragLeave($event); + private _preventDefault($event); +} diff --git a/ng2-components/ng2-alfresco-upload/src/directives/file-draggable.directive.js b/ng2-components/ng2-alfresco-upload/src/directives/file-draggable.directive.js new file mode 100644 index 0000000000..8cb16e4313 --- /dev/null +++ b/ng2-components/ng2-alfresco-upload/src/directives/file-draggable.directive.js @@ -0,0 +1,115 @@ +/** + * @license + * Copyright 2016 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +System.register(['angular2/core'], function(exports_1, context_1) { + "use strict"; + var __moduleName = context_1 && context_1.id; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1; + var FileDraggableDirective; + return { + setters:[ + function (core_1_1) { + core_1 = core_1_1; + }], + execute: function() { + FileDraggableDirective = (function () { + function FileDraggableDirective(el) { + this.el = el; + this.onFilesAdded = new core_1.EventEmitter(); + this._inputFocusClass = false; + console.log('FileDraggableComponent constructor', el); + } + FileDraggableDirective.prototype._onDropFiles = function ($event) { + this._preventDefault($event); + var items = $event.dataTransfer.items; + for (var i = 0; i < items.length; i++) { + var item = items[i].webkitGetAsEntry(); + if (item) { + this._traverseFileTree(item, -1); + } + else { + var dt = $event.dataTransfer; + var files = dt.files; + this.onFilesAdded.emit(files); + } + } + this.onFilesAdded.emit([]); + this._inputFocusClass = false; + }; + FileDraggableDirective.prototype._traverseFileTree = function (item, x) { + if (item.isFile) { + var self_1 = this; + item.file(function (file) { + self_1.onFilesAdded.emit([file]); + }); + } + else { + if (item.isDirectory) { + var self_2 = this; + var dirReader = item.createReader(); + dirReader.readEntries(function (entries) { + for (var i = 0; i < entries.length; i++) { + self_2._traverseFileTree(entries[i], i); + } + }); + } + } + }; + FileDraggableDirective.prototype._onDragEnter = function ($event) { + this._preventDefault($event); + this._inputFocusClass = true; + }; + FileDraggableDirective.prototype._onDragLeave = function ($event) { + this._preventDefault($event); + this._inputFocusClass = false; + }; + FileDraggableDirective.prototype._preventDefault = function ($event) { + $event.stopPropagation(); + $event.preventDefault(); + }; + __decorate([ + core_1.Output(), + __metadata('design:type', core_1.EventEmitter) + ], FileDraggableDirective.prototype, "onFilesAdded", void 0); + FileDraggableDirective = __decorate([ + core_1.Directive({ + selector: '[file-draggable]', + host: { + '(drop)': '_onDropFiles($event)', + '(dragenter)': '_onDragEnter($event)', + '(dragleave)': '_onDragLeave($event)', + '(dragover)': '_preventDefault($event)', + '[class.input-focus]': '_inputFocusClass' + } + }), + __metadata('design:paramtypes', [core_1.ElementRef]) + ], FileDraggableDirective); + return FileDraggableDirective; + }()); + exports_1("FileDraggableDirective", FileDraggableDirective); + } + } +}); +//# sourceMappingURL=file-draggable.directive.js.map \ No newline at end of file diff --git a/ng2-components/ng2-alfresco-upload/src/directives/file-draggable.directive.js.map b/ng2-components/ng2-alfresco-upload/src/directives/file-draggable.directive.js.map new file mode 100644 index 0000000000..44187b2e01 --- /dev/null +++ b/ng2-components/ng2-alfresco-upload/src/directives/file-draggable.directive.js.map @@ -0,0 +1 @@ +{"version":3,"file":"file-draggable.directive.js","sourceRoot":"","sources":["file-draggable.directive.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ng2-components/ng2-alfresco-upload/src/directives/file-draggable.directive.ts b/ng2-components/ng2-alfresco-upload/src/directives/file-draggable.directive.ts new file mode 100644 index 0000000000..a404cb1877 --- /dev/null +++ b/ng2-components/ng2-alfresco-upload/src/directives/file-draggable.directive.ts @@ -0,0 +1,94 @@ +/** + * @license + * Copyright 2016 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import {Directive, ElementRef, EventEmitter, Output} from 'angular2/core'; + +@Directive({ + selector: '[file-draggable]', + host: { + '(drop)': '_onDropFiles($event)', + '(dragenter)': '_onDragEnter($event)', + '(dragleave)': '_onDragLeave($event)', + '(dragover)': '_preventDefault($event)', + '[class.input-focus]': '_inputFocusClass' + } +}) +export class FileDraggableDirective { + @Output() + onFilesAdded:EventEmitter = new EventEmitter(); + files:File []; + private _inputFocusClass:boolean = false; + + constructor(public el:ElementRef) { + console.log('FileDraggableComponent constructor', el); + } + + private _onDropFiles($event):void { + this._preventDefault($event); + + var items = $event.dataTransfer.items; + for (var i = 0; i < items.length; i++) { + var item = items[i].webkitGetAsEntry(); + if (item) { + this._traverseFileTree(item, -1); + } else { + let dt = $event.dataTransfer; + let files = dt.files; + this.onFilesAdded.emit(files); + } + } + this.onFilesAdded.emit([]); + + this._inputFocusClass = false; + } + + private _traverseFileTree(item, x):void { + if (item.isFile) { + let self = this; + item.file(function (file) { + self.onFilesAdded.emit([file]); + }); + } else { + if (item.isDirectory) { + let self = this; + let dirReader = item.createReader(); + dirReader.readEntries(function (entries) { + for (var i = 0; i < entries.length; i++) { + self._traverseFileTree(entries[i], i); + } + }); + } + } + } + + private _onDragEnter($event):void { + this._preventDefault($event); + + this._inputFocusClass = true; + } + + private _onDragLeave($event):void { + this._preventDefault($event); + + this._inputFocusClass = false; + } + + private _preventDefault($event):void { + $event.stopPropagation(); + $event.preventDefault(); + } +} \ No newline at end of file diff --git a/ng2-components/ng2-alfresco-upload/src/directives/file-select.directive.d.ts b/ng2-components/ng2-alfresco-upload/src/directives/file-select.directive.d.ts new file mode 100644 index 0000000000..b7d33a7a95 --- /dev/null +++ b/ng2-components/ng2-alfresco-upload/src/directives/file-select.directive.d.ts @@ -0,0 +1,23 @@ +/** + * @license + * Copyright 2016 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { ElementRef, EventEmitter } from 'angular2/core'; +export declare class FileSelectDirective { + el: ElementRef; + onFilesAdded: EventEmitter; + constructor(el: ElementRef); + private _onAdd(); +} diff --git a/ng2-components/ng2-alfresco-upload/src/directives/file-select.directive.js b/ng2-components/ng2-alfresco-upload/src/directives/file-select.directive.js new file mode 100644 index 0000000000..ebe296472c --- /dev/null +++ b/ng2-components/ng2-alfresco-upload/src/directives/file-select.directive.js @@ -0,0 +1,64 @@ +/** + * @license + * Copyright 2016 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +System.register(['angular2/core'], function(exports_1, context_1) { + "use strict"; + var __moduleName = context_1 && context_1.id; + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var core_1; + var FileSelectDirective; + return { + setters:[ + function (core_1_1) { + core_1 = core_1_1; + }], + execute: function() { + FileSelectDirective = (function () { + function FileSelectDirective(el) { + this.el = el; + this.onFilesAdded = new core_1.EventEmitter(); + console.log('FileSelectComponent constructor', el); + } + FileSelectDirective.prototype._onAdd = function () { + var files = this.el.nativeElement.files; + this.onFilesAdded.emit(files); + }; + __decorate([ + core_1.Output(), + __metadata('design:type', core_1.EventEmitter) + ], FileSelectDirective.prototype, "onFilesAdded", void 0); + FileSelectDirective = __decorate([ + core_1.Directive({ + selector: '[file-select]', + host: { '(change)': '_onAdd()' } + }), + __metadata('design:paramtypes', [core_1.ElementRef]) + ], FileSelectDirective); + return FileSelectDirective; + }()); + exports_1("FileSelectDirective", FileSelectDirective); + } + } +}); +//# sourceMappingURL=file-select.directive.js.map \ No newline at end of file diff --git a/ng2-components/ng2-alfresco-upload/src/directives/file-select.directive.js.map b/ng2-components/ng2-alfresco-upload/src/directives/file-select.directive.js.map new file mode 100644 index 0000000000..dfa8c9be6f --- /dev/null +++ b/ng2-components/ng2-alfresco-upload/src/directives/file-select.directive.js.map @@ -0,0 +1 @@ +{"version":3,"file":"file-select.directive.js","sourceRoot":"","sources":["file-select.directive.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;;;;;;;;;;;;YAQH;gBAKI,6BAAmB,EAAa;oBAAb,OAAE,GAAF,EAAE,CAAW;oBAFhC,iBAAY,GAAqB,IAAI,mBAAY,EAAE,CAAC;oBAGhD,OAAO,CAAC,GAAG,CAAC,iCAAiC,EAAE,EAAE,CAAC,CAAC;gBACvD,CAAC;gBAEO,oCAAM,GAAd;oBACI,IAAI,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC;oBACxC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAClC,CAAC;gBAVD;oBAAC,aAAM,EAAE;;yEAAA;gBANb;oBAAC,gBAAS,CAAC;wBACP,QAAQ,EAAE,eAAe;wBACzB,IAAI,EAAE,EAAC,UAAU,EAAE,UAAU,EAAC;qBACjC,CAAC;;uCAAA;gBAcF,0BAAC;YAAD,CAAC,AAbD,IAaC;YAbD,qDAaC,CAAA"} \ No newline at end of file diff --git a/ng2-components/ng2-alfresco-upload/src/directives/file-select.directive.ts b/ng2-components/ng2-alfresco-upload/src/directives/file-select.directive.ts new file mode 100644 index 0000000000..cff4abb817 --- /dev/null +++ b/ng2-components/ng2-alfresco-upload/src/directives/file-select.directive.ts @@ -0,0 +1,37 @@ +/** + * @license + * Copyright 2016 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import {Directive, ElementRef, EventEmitter, Output} from 'angular2/core'; + +@Directive({ + selector: '[file-select]', + host: {'(change)': '_onAdd()'} +}) +export class FileSelectDirective { + + @Output() + onFilesAdded:EventEmitter = new EventEmitter(); + + constructor(public el:ElementRef) { + console.log('FileSelectComponent constructor', el); + } + + private _onAdd():void { + let files = this.el.nativeElement.files; + this.onFilesAdded.emit(files); + } +} diff --git a/ng2-components/ng2-alfresco-upload/src/models/file.model.d.ts b/ng2-components/ng2-alfresco-upload/src/models/file.model.d.ts new file mode 100644 index 0000000000..8628ebbe85 --- /dev/null +++ b/ng2-components/ng2-alfresco-upload/src/models/file.model.d.ts @@ -0,0 +1,40 @@ +/** + * @license + * Copyright 2016 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +export declare class FileModel { + id: string; + status: number; + statusText: string; + progress: Object; + name: string; + size: string; + response: string; + done: boolean; + error: boolean; + abort: boolean; + uploading: boolean; + file: any; + _xmlHttpRequest: XMLHttpRequest; + constructor(file: any); + setProgres(progress: any): void; + setError(): void; + setUploading(): void; + setXMLHttpRequest(xmlHttpRequest: XMLHttpRequest): void; + setAbort(): void; + onFinished(status: number, statusText: string, response: string): void; + private _getFileSize(sizeinbytes); + private _generateId(); +} diff --git a/ng2-components/ng2-alfresco-upload/src/models/file.model.js b/ng2-components/ng2-alfresco-upload/src/models/file.model.js new file mode 100644 index 0000000000..371000d53b --- /dev/null +++ b/ng2-components/ng2-alfresco-upload/src/models/file.model.js @@ -0,0 +1,88 @@ +/** + * @license + * Copyright 2016 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +System.register([], function(exports_1, context_1) { + "use strict"; + var __moduleName = context_1 && context_1.id; + var FileModel; + return { + setters:[], + execute: function() { + FileModel = (function () { + function FileModel(file) { + this.done = false; + this.error = false; + this.abort = false; + this.uploading = false; + this.file = file; + this.id = this._generateId(); + this.name = file.name; + this.size = this._getFileSize(file.size); + this.progress = { + loaded: 0, + total: 0, + percent: 0 + }; + } + FileModel.prototype.setProgres = function (progress) { + this.progress = progress; + }; + FileModel.prototype.setError = function () { + this.error = true; + }; + FileModel.prototype.setUploading = function () { + this.uploading = true; + }; + FileModel.prototype.setXMLHttpRequest = function (xmlHttpRequest) { + this._xmlHttpRequest = xmlHttpRequest; + }; + FileModel.prototype.setAbort = function () { + if (!this.done && !this.error) { + this.abort = true; + this.uploading = false; + this._xmlHttpRequest.abort(); + } + }; + FileModel.prototype.onFinished = function (status, statusText, response) { + this.status = status; + this.statusText = statusText; + this.response = response; + this.done = true; + this.uploading = false; + }; + FileModel.prototype._getFileSize = function (sizeinbytes) { + var fSExt = new Array('Bytes', 'KB', 'MB', 'GB'); + var size = sizeinbytes; + var i = 0; + while (size > 900) { + size /= 1000; + i++; + } + return Math.round((Math.round(size * 100) / 100)) + ' ' + fSExt[i]; + }; + FileModel.prototype._generateId = function () { + return 'uploading-' + 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { + var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8); + return v.toString(16); + }); + }; + return FileModel; + }()); + exports_1("FileModel", FileModel); + } + } +}); +//# sourceMappingURL=file.model.js.map \ No newline at end of file diff --git a/ng2-components/ng2-alfresco-upload/src/models/file.model.js.map b/ng2-components/ng2-alfresco-upload/src/models/file.model.js.map new file mode 100644 index 0000000000..766ae76a2b --- /dev/null +++ b/ng2-components/ng2-alfresco-upload/src/models/file.model.js.map @@ -0,0 +1 @@ +{"version":3,"file":"file.model.js","sourceRoot":"","sources":["file.model.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ng2-components/ng2-alfresco-upload/src/models/file.model.ts b/ng2-components/ng2-alfresco-upload/src/models/file.model.ts new file mode 100644 index 0000000000..295e0ffb32 --- /dev/null +++ b/ng2-components/ng2-alfresco-upload/src/models/file.model.ts @@ -0,0 +1,95 @@ +/** + * @license + * Copyright 2016 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +export class FileModel { + id:string; + status:number; + statusText:string; + progress:Object; + name:string; + size:string; + response:string; + done:boolean = false; + error:boolean = false; + abort:boolean = false; + uploading:boolean = false; + file:any; + _xmlHttpRequest:XMLHttpRequest; + + constructor(file:any) { + this.file = file; + this.id = this._generateId(); + this.name = file.name; + this.size = this._getFileSize(file.size); + this.progress = { + loaded: 0, + total: 0, + percent: 0 + }; + } + + setProgres(progress:any):void { + this.progress = progress; + } + + setError():void { + this.error = true; + } + + setUploading(){ + this.uploading = true; + } + + setXMLHttpRequest(xmlHttpRequest:XMLHttpRequest){ + this._xmlHttpRequest = xmlHttpRequest; + } + + setAbort():void { + if(!this.done && !this.error){ + this.abort = true; + this.uploading = false; + this._xmlHttpRequest.abort(); + } + } + + onFinished(status:number, statusText:string, response:string):void { + this.status = status; + this.statusText = statusText; + this.response = response; + this.done = true; + this.uploading = false; + } + + private _getFileSize(sizeinbytes):string { + let fSExt = new Array('Bytes', 'KB', 'MB', 'GB'); + let size = sizeinbytes; + let i = 0; + while (size > 900) { + size /= 1000; + i++; + } + return Math.round((Math.round(size * 100) / 100)) + ' ' + fSExt[i]; + } + + private _generateId():string { + return 'uploading-' + 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { + let r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8); + return v.toString(16); + }); + } +} diff --git a/ng2-components/ng2-alfresco-upload/src/services/upload.service.d.ts b/ng2-components/ng2-alfresco-upload/src/services/upload.service.d.ts new file mode 100644 index 0000000000..5d6189ce5e --- /dev/null +++ b/ng2-components/ng2-alfresco-upload/src/services/upload.service.d.ts @@ -0,0 +1,33 @@ +/** + * @license + * Copyright 2016 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { FileModel } from '../models/file.model'; +export declare class UploadService { + private _url; + private _method; + private _authTokenPrefix; + private _authToken; + private _fieldName; + private _formFields; + private _withCredentials; + _queue: FileModel[]; + constructor(options: any); + addToQueue(files: any[]): FileModel[]; + private _uploadFilesInTheQueue(); + uploadFile(uploadingFileModel: any): void; + getQueue(): FileModel[]; + private _isFile(file); +} diff --git a/ng2-components/ng2-alfresco-upload/src/services/upload.service.js b/ng2-components/ng2-alfresco-upload/src/services/upload.service.js new file mode 100644 index 0000000000..238982e7f9 --- /dev/null +++ b/ng2-components/ng2-alfresco-upload/src/services/upload.service.js @@ -0,0 +1,117 @@ +/** + * @license + * Copyright 2016 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +System.register(['../models/file.model'], function(exports_1, context_1) { + "use strict"; + var __moduleName = context_1 && context_1.id; + var file_model_1; + var UploadService; + return { + setters:[ + function (file_model_1_1) { + file_model_1 = file_model_1_1; + }], + execute: function() { + UploadService = (function () { + function UploadService(options) { + this._method = 'POST'; + this._authTokenPrefix = 'Basic'; + this._authToken = undefined; + this._fieldName = 'file'; + this._formFields = {}; + this._queue = []; + console.log('UploadService constructor'); + this._withCredentials = options.withCredentials != null ? options.withCredentials : this._withCredentials; + this._url = options.url != null ? options.url : this._url; + this._authTokenPrefix = options.authTokenPrefix != null ? options.authTokenPrefix : this._authTokenPrefix; + this._authToken = options.authToken != null ? options.authToken : this._authToken; + this._fieldName = options.fieldName != null ? options.fieldName : this._fieldName; + this._formFields = options.formFields != null ? options.formFields : this._formFields; + } + UploadService.prototype.addToQueue = function (files) { + var latestFilesAdded = []; + for (var _i = 0, files_1 = files; _i < files_1.length; _i++) { + var file = files_1[_i]; + if (this._isFile(file)) { + var uploadingFileModel = new file_model_1.FileModel(file); + latestFilesAdded.push(uploadingFileModel); + this._queue.push(uploadingFileModel); + } + } + this._uploadFilesInTheQueue(); + return latestFilesAdded; + }; + UploadService.prototype._uploadFilesInTheQueue = function () { + var _this = this; + var filesToUpload = this._queue.filter(function (uploadingFileModel) { + return !uploadingFileModel.uploading && !uploadingFileModel.done && !uploadingFileModel.abort && !uploadingFileModel.error; + }); + filesToUpload.forEach(function (uploadingFileModel) { + uploadingFileModel.setUploading(); + _this.uploadFile(uploadingFileModel); + }); + }; + ; + UploadService.prototype.uploadFile = function (uploadingFileModel) { + var _this = this; + var form = new FormData(); + form.append(this._fieldName, uploadingFileModel.file, uploadingFileModel.name); + Object.keys(this._formFields).forEach(function (key) { + form.append(key, _this._formFields[key]); + }); + var xmlHttpRequest = new XMLHttpRequest(); + uploadingFileModel.setXMLHttpRequest(xmlHttpRequest); + xmlHttpRequest.upload.onprogress = function (e) { + if (e.lengthComputable) { + var percent = Math.round(e.loaded / e.total * 100); + uploadingFileModel.setProgres({ + total: e.total, + loaded: e.loaded, + percent: percent + }); + } + }; + xmlHttpRequest.upload.onabort = function (e) { + uploadingFileModel.setAbort(); + }; + xmlHttpRequest.upload.onerror = function (e) { + uploadingFileModel.setError(); + }; + xmlHttpRequest.onreadystatechange = function () { + if (xmlHttpRequest.readyState === XMLHttpRequest.DONE) { + uploadingFileModel.onFinished(xmlHttpRequest.status, xmlHttpRequest.statusText, xmlHttpRequest.response); + } + }; + xmlHttpRequest.open(this._method, this._url, true); + xmlHttpRequest.withCredentials = this._withCredentials; + if (this._authToken) { + xmlHttpRequest.setRequestHeader('Authorization', this._authTokenPrefix + " " + this._authToken); + } + xmlHttpRequest.send(form); + }; + UploadService.prototype.getQueue = function () { + return this._queue; + }; + UploadService.prototype._isFile = function (file) { + return file !== null && (file instanceof Blob || (file.name && file.size)); + }; + return UploadService; + }()); + exports_1("UploadService", UploadService); + } + } +}); +//# sourceMappingURL=upload.service.js.map \ No newline at end of file diff --git a/ng2-components/ng2-alfresco-upload/src/services/upload.service.js.map b/ng2-components/ng2-alfresco-upload/src/services/upload.service.js.map new file mode 100644 index 0000000000..f9cf69d39e --- /dev/null +++ b/ng2-components/ng2-alfresco-upload/src/services/upload.service.js.map @@ -0,0 +1 @@ +{"version":3,"file":"upload.service.js","sourceRoot":"","sources":["upload.service.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ng2-components/ng2-alfresco-upload/src/services/upload.service.ts b/ng2-components/ng2-alfresco-upload/src/services/upload.service.ts new file mode 100644 index 0000000000..d3bb4d7472 --- /dev/null +++ b/ng2-components/ng2-alfresco-upload/src/services/upload.service.ts @@ -0,0 +1,124 @@ +/** + * @license + * Copyright 2016 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +import {FileModel} from '../models/file.model'; + +export class UploadService { + private _url:string; + private _method:string = 'POST'; + private _authTokenPrefix:string = 'Basic'; + private _authToken:string = undefined; + private _fieldName:string = 'file'; + private _formFields:Object = {}; + private _withCredentials:boolean; + + _queue:FileModel[] = []; + + constructor(options:any) { + console.log('UploadService constructor'); + + this._withCredentials = options.withCredentials != null ? options.withCredentials : this._withCredentials; + this._url = options.url != null ? options.url : this._url; + this._authTokenPrefix = options.authTokenPrefix != null ? options.authTokenPrefix : this._authTokenPrefix; + this._authToken = options.authToken != null ? options.authToken : this._authToken; + this._fieldName = options.fieldName != null ? options.fieldName : this._fieldName; + this._formFields = options.formFields != null ? options.formFields : this._formFields; + } + + addToQueue(files:any[]):FileModel[] { + let latestFilesAdded:FileModel[] = []; + + for (let file of files) { + if (this._isFile(file)) { + let uploadingFileModel = new FileModel(file) + latestFilesAdded.push(uploadingFileModel) + this._queue.push(uploadingFileModel); + } + } + this._uploadFilesInTheQueue(); + + return latestFilesAdded; + } + + private _uploadFilesInTheQueue():void { + let filesToUpload = this._queue.filter((uploadingFileModel) => { + return !uploadingFileModel.uploading && !uploadingFileModel.done && !uploadingFileModel.abort && !uploadingFileModel.error; + }); + filesToUpload.forEach((uploadingFileModel) => { + uploadingFileModel.setUploading(); + this.uploadFile(uploadingFileModel); + }); + }; + + uploadFile(uploadingFileModel:any):void { + let form = new FormData(); + form.append(this._fieldName, uploadingFileModel.file, uploadingFileModel.name); + Object.keys(this._formFields).forEach((key) => { + form.append(key, this._formFields[key]); + }); + + let xmlHttpRequest = new XMLHttpRequest(); + uploadingFileModel.setXMLHttpRequest(xmlHttpRequest); + + xmlHttpRequest.upload.onprogress = (e) => { + if (e.lengthComputable) { + let percent = Math.round(e.loaded / e.total * 100); + uploadingFileModel.setProgres({ + total: e.total, + loaded: e.loaded, + percent: percent + }); + } + }; + + xmlHttpRequest.upload.onabort = (e) => { + uploadingFileModel.setAbort(); + }; + + xmlHttpRequest.upload.onerror = (e) => { + uploadingFileModel.setError(); + }; + + xmlHttpRequest.onreadystatechange = () => { + if (xmlHttpRequest.readyState === XMLHttpRequest.DONE) { + uploadingFileModel.onFinished( + xmlHttpRequest.status, + xmlHttpRequest.statusText, + xmlHttpRequest.response + ); + } + }; + + xmlHttpRequest.open(this._method, this._url, true); + xmlHttpRequest.withCredentials = this._withCredentials; + + if (this._authToken) { + xmlHttpRequest.setRequestHeader('Authorization', `${this._authTokenPrefix} ${this._authToken}`); + } + + xmlHttpRequest.send(form); + } + + getQueue():FileModel[] { + return this._queue; + } + + private _isFile(file:any):boolean { + return file !== null && (file instanceof Blob || (file.name && file.size)); + } +} diff --git a/ng2-components/ng2-alfresco-upload/tests-runner.html b/ng2-components/ng2-alfresco-upload/tests-runner.html new file mode 100644 index 0000000000..849371cb70 --- /dev/null +++ b/ng2-components/ng2-alfresco-upload/tests-runner.html @@ -0,0 +1,53 @@ + + + + + Alfresco Login component Tests + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ng2-components/ng2-alfresco-upload/tsconfig.json b/ng2-components/ng2-alfresco-upload/tsconfig.json new file mode 100644 index 0000000000..10ac8b1494 --- /dev/null +++ b/ng2-components/ng2-alfresco-upload/tsconfig.json @@ -0,0 +1,18 @@ +{ + "compilerOptions": { + "target": "es5", + "module": "system", + "moduleResolution": "node", + "sourceMap": true, + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "removeComments": false, + "noImplicitAny": false, + "declaration": true + }, + "exclude": [ + "node_modules", + "typings/main", + "typings/main.d.ts" + ] +} diff --git a/ng2-components/ng2-alfresco-upload/tslint.json b/ng2-components/ng2-alfresco-upload/tslint.json new file mode 100644 index 0000000000..ce80085e69 --- /dev/null +++ b/ng2-components/ng2-alfresco-upload/tslint.json @@ -0,0 +1,122 @@ +{ + "rules": { + "align": [ + true, + "parameters", + "arguments", + "statements" + ], + "ban": false, + "class-name": true, + "comment-format": [ + true, + "check-space", + "check-lowercase" + ], + "curly": true, + "eofline": true, + "forin": true, + "indent": [ + true, + "spaces" + ], + "interface-name": false, + "jsdoc-format": true, + "label-position": true, + "label-undefined": true, + "max-line-length": [ + true, + 140 + ], + "member-ordering": [ + true, + "public-before-private", + "static-before-instance", + "variables-before-functions" + ], + "no-any": false, + "no-arg": true, + "no-bitwise": true, + "no-conditional-assignment": true, + "no-consecutive-blank-lines": false, + "no-console": [ + true, + "debug", + "info", + "time", + "timeEnd", + "trace" + ], + "no-construct": true, + "no-constructor-vars": false, + "no-debugger": true, + "no-duplicate-key": true, + "no-duplicate-variable": true, + "no-empty": true, + "no-eval": true, + "no-inferrable-types": false, + "no-internal-module": true, + "no-require-imports": true, + "no-shadowed-variable": true, + "no-switch-case-fall-through": true, + "no-trailing-whitespace": true, + "no-unreachable": true, + "no-unused-expression": true, + "no-unused-variable": true, + "no-use-before-declare": true, + "no-var-keyword": true, + "no-var-requires": true, + "object-literal-sort-keys": false, + "one-line": [ + true, + "check-open-brace", + "check-catch", + "check-else", + "check-whitespace" + ], + "quotemark": [ + true, + "single", + "avoid-escape" + ], + "radix": true, + "semicolon": true, + "switch-default": true, + "trailing-comma": [ + true, + { + "multiline": "never", + "singleline": "never" + } + ], + "triple-equals": [ + true, + "allow-null-check" + ], + "typedef": false, + "typedef-whitespace": [ + true, + { + "call-signature": "nospace", + "index-signature": "nospace", + "parameter": "nospace", + "property-declaration": "nospace", + "variable-declaration": "nospace" + } + ], + "use-strict": false, + "variable-name": [ + true, + "check-format", + "allow-leading-underscore", + "ban-keywords" + ], + "whitespace": [ + true, + "check-branch", + "check-decl", + "check-operator", + "check-separator" + ] + } +} diff --git a/ng2-components/ng2-alfresco-upload/typings.json b/ng2-components/ng2-alfresco-upload/typings.json new file mode 100644 index 0000000000..d6a258cfb6 --- /dev/null +++ b/ng2-components/ng2-alfresco-upload/typings.json @@ -0,0 +1,6 @@ +{ + "ambientDependencies": { + "es6-shim": "github:DefinitelyTyped/DefinitelyTyped/es6-shim/es6-shim.d.ts#7de6c3dd94feaeb21f20054b9f30d5dabc5efabd", + "jasmine": "github:DefinitelyTyped/DefinitelyTyped/jasmine/jasmine.d.ts#5c182b9af717f73146399c2485f70f1e2ac0ff2b" + } +}