Repository: nifi-fds
Updated Branches:
  refs/heads/gh-pages 85aa932e1 -> b5b08af7a (forced update)


http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/b5b08af7/node_modules/nifi-fds/platform/core/snackbars/coaster/coaster.component.js
----------------------------------------------------------------------
diff --git 
a/node_modules/nifi-fds/platform/core/snackbars/coaster/coaster.component.js 
b/node_modules/nifi-fds/platform/core/snackbars/coaster/coaster.component.js
new file mode 100644
index 0000000..0213f2e
--- /dev/null
+++ b/node_modules/nifi-fds/platform/core/snackbars/coaster/coaster.component.js
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.
+ */
+
+var ngCore = require('@angular/core');
+var $ = require('jquery');
+
+/**
+ * FdsCoasterComponent constructor.
+ *
+ * @constructor
+ */
+function FdsCoasterComponent() {
+    this.title = '';
+    this.message = '';
+    this.icon = '';
+    this.color = '';
+    this.snackBarRef = undefined;
+    this.viewContainerRef = undefined;
+};
+
+FdsCoasterComponent.prototype = {
+    constructor: FdsCoasterComponent,
+
+    /**
+     * Initialize the component.
+     */
+    ngAfterViewChecked: function () {
+        $('.fds-snackbar-wrapper').css('border-color', this.color);
+        $('.fds-snackbar-title').css('color', this.color);
+        $('.fds-coaster-icon').css('color', this.color);
+
+        if (this.icon) {
+            $('.fds-snackbar-wrapper').css('padding', '15px 15px 15px 45px');
+        } else {
+            $('.fds-snackbar-wrapper').css('padding', '15px 15px 15px 15px');
+        }
+    },
+
+    /**
+     * Close the snackbar and send a cancel response to any subscribers.
+     */
+    cancel: function () {
+        this.snackBarRef.dismiss(false);
+    }
+};
+
+FdsCoasterComponent.annotations = [
+    new ngCore.Component({
+        selector: 'fds-coaster',
+        template: require('./coaster.component.html!text')
+    })
+];
+
+FdsCoasterComponent.parameters = [];
+
+module.exports = FdsCoasterComponent;

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/b5b08af7/node_modules/nifi-fds/platform/core/snackbars/coaster/coaster.component.spec.js
----------------------------------------------------------------------
diff --git 
a/node_modules/nifi-fds/platform/core/snackbars/coaster/coaster.component.spec.js
 
b/node_modules/nifi-fds/platform/core/snackbars/coaster/coaster.component.spec.js
new file mode 100644
index 0000000..0959791
--- /dev/null
+++ 
b/node_modules/nifi-fds/platform/core/snackbars/coaster/coaster.component.spec.js
@@ -0,0 +1,32 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.
+ */
+
+var CoasterComponent = require('@fluid-design-system/coaster-component');
+
+describe('coasterComponent isolated unit tests', function () {
+    var coaster;
+
+    beforeEach(function () {
+        coaster = new CoasterComponent();
+    });
+
+    it('should have defined coaster', function () {
+        coaster.ngAfterViewChecked();
+        //assertions
+        expect(coaster).toBeDefined();
+    });
+});

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/b5b08af7/node_modules/nifi-fds/platform/core/snackbars/fds-snackbar.component.html
----------------------------------------------------------------------
diff --git 
a/node_modules/nifi-fds/platform/core/snackbars/fds-snackbar.component.html 
b/node_modules/nifi-fds/platform/core/snackbars/fds-snackbar.component.html
new file mode 100644
index 0000000..f3c6def
--- /dev/null
+++ b/node_modules/nifi-fds/platform/core/snackbars/fds-snackbar.component.html
@@ -0,0 +1,29 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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.
+-->
+
+<div class="fds-snackbar-wrapper">
+    <div class="fds-snackbar-title md-title" *ngIf="snackBarTitle.length > 0">
+        <ng-content select="fds-snackbar-title"></ng-content>
+    </div>
+    <div class="fds-snackbar-content" *ngIf="snackBarContent.length > 0">
+        <ng-content select="fds-snackbar-content"></ng-content>
+    </div>
+    <div class="fds-snackbar-actions" *ngIf="snackBarActions.length > 0" 
layout="row">
+        <span flex></span>
+        <ng-content select="fds-snackbar-actions"></ng-content>
+    </div>
+</div>

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/b5b08af7/node_modules/nifi-fds/platform/core/snackbars/fds-snackbar.component.js
----------------------------------------------------------------------
diff --git 
a/node_modules/nifi-fds/platform/core/snackbars/fds-snackbar.component.js 
b/node_modules/nifi-fds/platform/core/snackbars/fds-snackbar.component.js
new file mode 100644
index 0000000..88974b8
--- /dev/null
+++ b/node_modules/nifi-fds/platform/core/snackbars/fds-snackbar.component.js
@@ -0,0 +1,85 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.
+ */
+
+var ngCore = require('@angular/core');
+
+var FdsSnackBarTitleDirective = new ngCore.Class({
+    extends: ngCore.Directive({selector: 'fds-snackbar-title'}),
+    constructor: function () {
+    }
+});
+var FdsSnackBarContentDirective = new ngCore.Class({
+    extends: ngCore.Directive({selector: 'fds-snackbar-content'}),
+    constructor: function () {
+    }
+});
+var FdsSnackBarActionsDirective = new ngCore.Class({
+    extends: ngCore.Directive({selector: 'fds-snackbar-actions'}),
+    constructor: function () {
+    }
+});
+
+/**
+ * FdsSnackBarComponent constructor
+ *
+ * @constructor
+ */
+function FdsSnackBarComponent() {
+    this.snackBarTitle = '';
+    this.snackBarContent = '';
+    this.snackBarActions = '';
+};
+
+FdsSnackBarComponent.prototype = {
+    constructor: FdsSnackBarComponent,
+
+    /**
+     * Respond after Angular projects external content into the component's 
view.
+     */
+    ngAfterContentInit: function () {
+        if (this.snackBarTitle.length > 1) {
+            throw new Error('Duplicate fds-snackbar-title component at in 
fds-snackbar.');
+        }
+        if (this.snackBarContent.length > 1) {
+            throw new Error('Duplicate fds-snackbar-content component at in 
fds-snackbar.');
+        }
+        if (this.snackBarActions.length > 1) {
+            throw new Error('Duplicate fds-snackbar-actions component at in 
fds-snackbar.');
+        }
+    }
+}
+
+FdsSnackBarComponent.annotations = [
+    new ngCore.Component({
+        selector: 'fds-snackbar',
+        template: require('./fds-snackbar.component.html!text'),
+        queries: {
+            snackBarTitle: new 
ngCore.ContentChildren(FdsSnackBarTitleDirective),
+            snackBarContent: new 
ngCore.ContentChildren(FdsSnackBarContentDirective),
+            snackBarActions: new 
ngCore.ContentChildren(FdsSnackBarActionsDirective)
+        }
+    })
+];
+
+FdsSnackBarComponent.parameters = [];
+
+module.exports = {
+    FdsSnackBarTitleDirective: FdsSnackBarTitleDirective,
+    FdsSnackBarContentDirective: FdsSnackBarContentDirective,
+    FdsSnackBarActionsDirective: FdsSnackBarActionsDirective,
+    FdsSnackBarComponent: FdsSnackBarComponent
+};

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/b5b08af7/node_modules/nifi-fds/platform/core/snackbars/fds-snackbar.component.spec.js
----------------------------------------------------------------------
diff --git 
a/node_modules/nifi-fds/platform/core/snackbars/fds-snackbar.component.spec.js 
b/node_modules/nifi-fds/platform/core/snackbars/fds-snackbar.component.spec.js
new file mode 100644
index 0000000..355af94
--- /dev/null
+++ 
b/node_modules/nifi-fds/platform/core/snackbars/fds-snackbar.component.spec.js
@@ -0,0 +1,32 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.
+ */
+
+var fdsSnackBarComponent = require('@fluid-design-system/snackbar-component');
+
+describe('FdsSnackBarComponent isolated unit tests', function () {
+    var fdsSnackBar;
+
+    beforeEach(function () {
+        fdsSnackBar = new fdsSnackBarComponent.FdsSnackBarComponent();
+    });
+
+    it('should have defined fdsSnackBar', function () {
+        fdsSnackBar.ngAfterContentInit();
+        //assertions
+        expect(fdsSnackBar).toBeDefined();
+    });
+});

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/b5b08af7/node_modules/nifi-fds/platform/core/snackbars/fds-snackbars.module.js
----------------------------------------------------------------------
diff --git 
a/node_modules/nifi-fds/platform/core/snackbars/fds-snackbars.module.js 
b/node_modules/nifi-fds/platform/core/snackbars/fds-snackbars.module.js
new file mode 100644
index 0000000..657b1ae
--- /dev/null
+++ b/node_modules/nifi-fds/platform/core/snackbars/fds-snackbars.module.js
@@ -0,0 +1,87 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.
+ */
+
+var ngCore = require('@angular/core');
+var ngMaterial = require('@angular/material');
+var ngFlex = require('@angular/flex-layout');
+var ngCommon = require('@angular/common');
+var ngForms = require('@angular/forms');
+var fdsSnackBarComponentModule = 
require('@fluid-design-system/snackbar-component');
+var fdsSnackBarServiceModule = 
require('@fluid-design-system/snackbar-service');
+var FdsCoasterComponent = require('@fluid-design-system/coaster-component');
+
+var FDS_SNACKBARS = [
+    fdsSnackBarComponentModule.FdsSnackBarComponent,
+    fdsSnackBarComponentModule.FdsSnackBarTitleDirective,
+    fdsSnackBarComponentModule.FdsSnackBarActionsDirective,
+    fdsSnackBarComponentModule.FdsSnackBarContentDirective,
+    FdsCoasterComponent
+];
+
+var FDS_SNACKBARS_ENTRY_COMPONENTS = [
+    FdsCoasterComponent
+];
+
+/**
+ * FdsSnackBarsModule constructor.
+ *
+ * @constructor
+ */
+function FdsSnackBarsModule() {
+
+};
+
+FdsSnackBarsModule.prototype = {
+    constructor: FdsSnackBarsModule
+};
+
+FdsSnackBarsModule.annotations = [
+    new ngCore.NgModule({
+        imports: [
+            ngFlex.FlexLayoutModule,
+            ngForms.FormsModule,
+            ngCommon.CommonModule,
+            ngMaterial.MatSnackBarModule,
+            ngMaterial.MatInputModule,
+            ngMaterial.MatButtonModule,
+            ngMaterial.MatIconModule
+        ],
+        declarations: [
+            FDS_SNACKBARS
+        ],
+        exports: [
+            FDS_SNACKBARS
+        ],
+        providers: [
+            fdsSnackBarServiceModule.FdsSnackBarService
+        ],
+        entryComponents: [
+            FDS_SNACKBARS_ENTRY_COMPONENTS
+        ]
+    })
+];
+
+module.exports = {
+    FdsSnackBarsModule: FdsSnackBarsModule,
+    ICoasterConfig: fdsSnackBarServiceModule.ICoasterConfig,
+    FdsSnackBarService: fdsSnackBarServiceModule.FdsSnackBarService,
+    FdsSnackBarComponent: fdsSnackBarComponentModule.FdsSnackBarComponent,
+    FdsSnackBarTitleDirective: 
fdsSnackBarComponentModule.FdsSnackBarTitleDirective,
+    FdsSnackBarContentDirective: 
fdsSnackBarComponentModule.FdsSnackBarContentDirective,
+    FdsSnackBarActionsDirective: 
fdsSnackBarComponentModule.FdsSnackBarActionsDirective,
+    FdsCoasterComponent: FdsCoasterComponent
+};

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/b5b08af7/node_modules/nifi-fds/platform/core/snackbars/services/snackbar.service.js
----------------------------------------------------------------------
diff --git 
a/node_modules/nifi-fds/platform/core/snackbars/services/snackbar.service.js 
b/node_modules/nifi-fds/platform/core/snackbars/services/snackbar.service.js
new file mode 100644
index 0000000..433db11
--- /dev/null
+++ b/node_modules/nifi-fds/platform/core/snackbars/services/snackbar.service.js
@@ -0,0 +1,132 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.
+ */
+
+var ngCore = require('@angular/core');
+var ngMaterial = require('@angular/material');
+var FdsCoasterComponent = require('@fluid-design-system/coaster-component');
+var $ = require('jquery');
+
+var ISnackBarConfig = new ngCore.Class({
+    extends: ngMaterial.MatSnackBarConfig,
+    constructor: function () {
+        this.title = '';
+        this.message = '';
+        this.snackBarRef = undefined;
+        this.viewContainerRef = undefined;
+    }
+});
+
+var ICoasterConfig = new ngCore.Class({
+    extends: ISnackBarConfig,
+    constructor: function () {
+        this.icon = '';
+        this.color = '';
+    }
+});
+
+/**
+ * FdsSnackBarService constructor.
+ *
+ * @param MatSnackBar      The angular material MatSnackBar.
+ * @constructor
+ */
+function FdsSnackBarService(MatSnackBar) {
+    this.snackBarService = MatSnackBar;
+}
+
+FdsSnackBarService.prototype = {
+    contstructor: FdsSnackBarService,
+
+    /**
+     * Wrapper function over the open() method in MatSnackBar.
+     *
+     * @param message               The message to show in the snackbar.
+     * @param action                The label for the snackbar action.
+     * @param config                Additional configuration options for the 
snackbar.
+     *
+     * @returns {MatSnackBarRef}    The reference to the snackbar.
+     */
+    open: function (message, action, config) {
+        return this.snackBarService.open(message, action, config);
+    },
+
+    /**
+     * Wrapper function over the openFromComponent() method in MatSnackBar.
+     * Opens a snackbar containing the given component.
+     *
+     * @param component     The angular ComponentType<T>.
+     * @param config        The angular material MatSnackBarConfig.
+     *
+     * @returns {MatSnackBarRef}    The reference to the snackbar.
+     */
+    openFromComponent: function (component, config) {
+        return this.snackBarService.openFromComponent(component, config);
+    },
+
+    /**
+     * Wrapper function over the dismiss() method in MatSnackBar.
+     * Dismisses the currently-open snackbar.
+     */
+    dismiss: function () {
+        this.snackBarService.dismiss();
+    },
+
+    /**
+     * Opens a coaster snackbar with the provided config.
+     *
+     * @param config     ICoasterConfig {
+     *                                      message?: string;
+     *                                      title?: string;
+     *                                      snackBarRef?: MatSnackBarRef;
+     *                                      viewContainerRef?: 
ViewContainerRef;
+     *                                      icon?: string;
+     *                                      color?: string;
+     *                                   }
+     *
+     * @returns {MatSnackBarRef}    The reference to the snackbar.
+     */
+    openCoaster: function (config) {
+        var snackBarConfig = new ICoasterConfig();
+        snackBarConfig.verticalPosition = config.verticalPosition;
+        snackBarConfig.horizontalPosition = config.horizontalPosition;
+        snackBarConfig.duration = config.duration;
+        var snackBarRef = 
this.snackBarService.openFromComponent(FdsCoasterComponent, snackBarConfig);
+        var coasterComponent = snackBarRef.instance;
+        coasterComponent.snackBarRef = snackBarRef;
+        if (config.title) {
+            coasterComponent.title = config.title;
+        }
+        if (config.message) {
+            coasterComponent.message = config.message;
+        }
+        if (config.icon) {
+            coasterComponent.icon = config.icon;
+        }
+        if (config.color) {
+            coasterComponent.color = config.color;
+        }
+        return snackBarRef;
+    },
+}
+
+FdsSnackBarService.parameters = [ngMaterial.MatSnackBar];
+
+module.exports = {
+    ISnackBarConfig: ISnackBarConfig,
+    ICoasterConfig: ICoasterConfig,
+    FdsSnackBarService: FdsSnackBarService
+};
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/b5b08af7/node_modules/nifi-fds/platform/core/theming/_all-theme.scss
----------------------------------------------------------------------
diff --git a/node_modules/nifi-fds/platform/core/theming/_all-theme.scss 
b/node_modules/nifi-fds/platform/core/theming/_all-theme.scss
new file mode 100644
index 0000000..66bd9f9
--- /dev/null
+++ b/node_modules/nifi-fds/platform/core/theming/_all-theme.scss
@@ -0,0 +1,36 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You 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 '../../../../@angular/material/theming';
+@import '../../../../@covalent/core/theming/all-theme';
+@import '../common/styles/buttons';
+@import '../common/styles/expansionPanels';
+@import '../common/styles/menus';
+
+// Create a theme.
+@mixin fds-theme($theme) {
+
+  // Include theme styles for core and each component used in your app.
+  // Alternatively, you can import and @include the theme mixins for each 
component
+  // that you are using.
+  @include angular-material-theme($theme);
+  @include covalent-theme($theme);
+  @include fds-buttons-theme($theme);
+  @include fds-expansion-panels-theme($theme);
+  @include fds-menus-theme($theme);
+
+}

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/b5b08af7/node_modules/nifi-fds/platform/systemjs-angular-loader.js
----------------------------------------------------------------------
diff --git a/node_modules/nifi-fds/platform/systemjs-angular-loader.js 
b/node_modules/nifi-fds/platform/systemjs-angular-loader.js
new file mode 100644
index 0000000..8e33bb5
--- /dev/null
+++ b/node_modules/nifi-fds/platform/systemjs-angular-loader.js
@@ -0,0 +1,66 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.
+ */
+
+var templateUrlRegex = /templateUrl\s*:(\s*['"`](.*?)['"`]\s*)/gm;
+var stylesRegex = /styleUrls *:(\s*\[[^\]]*?\])/g;
+var stringRegex = /(['`"])((?:[^\\]\\\1|.)*?)\1/g;
+
+module.exports.translate = function (load) {
+    if (load.source.indexOf('moduleId') != -1) return load;
+
+    var url = document.createElement('a');
+    url.href = load.address;
+
+    var basePathParts = url.pathname.split('/');
+
+    basePathParts.pop();
+    var basePath = basePathParts.join('/');
+
+    var baseHref = document.createElement('a');
+    baseHref.href = this.baseURL;
+    baseHref = baseHref.pathname;
+
+    if (!baseHref.startsWith('/base/')) { // it is not karma
+        basePath = basePath.replace(baseHref, '');
+    }
+
+    load.source = load.source
+        .replace(templateUrlRegex, function (match, quote, url) {
+            var resolvedUrl = url;
+
+            if (url.startsWith('.')) {
+                resolvedUrl = basePath + url.substr(1);
+            }
+
+            return 'templateUrl: "' + resolvedUrl + '"';
+        })
+        .replace(stylesRegex, function (match, relativeUrls) {
+            var urls = [];
+
+            while ((match = stringRegex.exec(relativeUrls)) !== null) {
+                if (match[2].startsWith('.')) {
+                    urls.push('"' + basePath + match[2].substr(1) + '"');
+                } else {
+                    urls.push('"' + match[2] + '"');
+                }
+            }
+
+            return "styleUrls: [" + urls.join(', ') + "]";
+        });
+
+    return load;
+};

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/b5b08af7/node_modules/nifi-fds/platform/systemjs.spec.config.js
----------------------------------------------------------------------
diff --git a/node_modules/nifi-fds/platform/systemjs.spec.config.js 
b/node_modules/nifi-fds/platform/systemjs.spec.config.js
new file mode 100644
index 0000000..2888d96
--- /dev/null
+++ b/node_modules/nifi-fds/platform/systemjs.spec.config.js
@@ -0,0 +1,106 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.
+ */
+
+(function (global) {
+    System.config({
+        paths: {
+            // paths serve as alias
+            'npm:': 'fds/node_modules/'
+        },
+        // map tells the System loader where to look for things
+        map: {
+            'text': 'npm:systemjs-plugin-text/text.js',
+            'app': './platform',
+
+            // jquery
+            'jquery': 'npm:jquery/dist/jquery.min.js',
+
+            // Angular
+            '@angular/core': 'npm:@angular/core/bundles/core.umd.js',
+            '@angular/common': 'npm:@angular/common/bundles/common.umd.js',
+            '@angular/common/http': 
'npm:@angular/common/bundles/common-http.umd.js',
+            '@angular/common/http/testing': 
'npm:@angular/common/bundles/common-http-testing.umd.js',
+            '@angular/platform-browser': 
'npm:@angular/platform-browser/bundles/platform-browser.umd.js',
+            '@angular/platform-browser-dynamic': 
'npm:@angular/platform-browser-dynamic/bundles/platform-browser-dynamic.umd.js',
+            '@angular/http': 'npm:@angular/http/bundles/http.umd.js',
+            '@angular/router': 'npm:@angular/router/bundles/router.umd.js',
+            '@angular/forms': 'npm:@angular/forms/bundles/forms.umd.js',
+            '@angular/flex-layout': 
'npm:@angular/flex-layout/bundles/flex-layout.umd.js',
+            '@angular/material': 
'npm:@angular/material/bundles/material.umd.js',
+            '@angular/platform-browser/animations': 
'npm:@angular/platform-browser/bundles/platform-browser-animations.umd.js',
+            '@angular/cdk': 'npm:@angular/cdk/bundles/cdk.umd.js',
+            '@angular/cdk/a11y': 'npm:@angular/cdk/bundles/cdk-a11y.umd.js',
+            '@angular/cdk/accordion': 
'npm:@angular/cdk/bundles/cdk-accordion.umd.js',
+            '@angular/cdk/layout': 
'npm:@angular/cdk/bundles/cdk-layout.umd.js',
+            '@angular/cdk/collections': 
'npm:@angular/cdk/bundles/cdk-collections.umd.js',
+            '@angular/cdk/observers': 
'npm:@angular/cdk/bundles/cdk-observers.umd.js',
+            '@angular/cdk/overlay': 
'npm:@angular/cdk/bundles/cdk-overlay.umd.js',
+            '@angular/cdk/platform': 
'npm:@angular/cdk/bundles/cdk-platform.umd.js',
+            '@angular/cdk/portal': 
'npm:@angular/cdk/bundles/cdk-portal.umd.js',
+            '@angular/cdk/keycodes': 
'npm:@angular/cdk/bundles/cdk-keycodes.umd.js',
+            '@angular/cdk/bidi': 'npm:@angular/cdk/bundles/cdk-bidi.umd.js',
+            '@angular/cdk/coercion': 
'npm:@angular/cdk/bundles/cdk-coercion.umd.js',
+            '@angular/cdk/table': 'npm:@angular/cdk/bundles/cdk-table.umd.js',
+            '@angular/cdk/rxjs': 'npm:@angular/cdk/bundles/cdk-rxjs.umd.js',
+            '@angular/cdk/scrolling': 
'npm:@angular/cdk/bundles/cdk-scrolling.umd.js',
+            '@angular/cdk/stepper': 
'npm:@angular/cdk/bundles/cdk-stepper.umd.js',
+            '@angular/animations': 
'npm:@angular/animations/bundles/animations.umd.js',
+            '@angular/animations/browser': 
'npm:@angular/animations/bundles/animations-browser.umd.js',
+            '@angular/compiler': 
'npm:@angular/compiler/bundles/compiler.umd.js',
+
+            // Covalent
+            '@covalent/core': 'npm:@covalent/core/bundles/core.umd.min.js',
+
+            // other libraries
+            'rxjs': 'npm:rxjs',
+            'zone.js': 'npm:zone.js/dist/zone.js',
+            // 'core-js': 'npm:core-js/client/shim.min.js',
+            // 'superagent': 'npm:superagent/superagent.js',
+            // 'querystring': 'npm:querystring',
+            // 'tslib': 'npm:tslib/tslib.js',
+
+            // Fluid Design System
+            '@fluid-design-system/core': 
'platform/core/fluid-design-system.module.js',
+            '@fluid-design-system/dialogs': 
'platform/core/dialogs/fds-dialogs.module.js',
+            '@fluid-design-system/dialog-component': 
'platform/core/dialogs/fds-dialog.component.js',
+            '@fluid-design-system/dialog-service': 
'platform/core/dialogs/services/dialog.service.js',
+            '@fluid-design-system/confirm-dialog-component': 
'platform/core/dialogs/confirm-dialog/confirm-dialog.component.js',
+            '@fluid-design-system/snackbars': 
'platform/core/snackbars/fds-snackbars.module.js',
+            '@fluid-design-system/snackbar-component': 
'platform/core/snackbars/fds-snackbar.component.js',
+            '@fluid-design-system/snackbar-service': 
'platform/core/snackbars/services/snackbar.service.js',
+            '@fluid-design-system/coaster-component': 
'platform/core/snackbars/coaster/coaster.component.js',
+            '@fluid-design-system/common/storage-service': 
'platform/core/common/services/fds-storage.service.js'
+        },
+        // packages tells the System loader how to load when no filename 
and/or no extension
+        packages: {
+            app: {
+                defaultExtension: 'js',
+                meta: {
+                    './*.js': {
+                        loader: 'fds/systemjs-angular-loader.js'
+                    }
+                }
+            },
+            'fds/systemjs-angular-loader.js': {
+                loader: false
+            },
+            'rxjs': {
+                defaultExtension: 'js'
+            }
+        }
+    });
+})(this);

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/b5b08af7/package-lock.json
----------------------------------------------------------------------
diff --git a/package-lock.json b/package-lock.json
index 6d69cd8..32e2580 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -3854,6 +3854,29 @@
       "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=",
       "dev": true
     },
+    "nifi-fds": {
+      "version": 
"git://github.com/apache/nifi-fds.git#3567be34f6b26acd4b4b6e341b04afa44b054015",
+      "requires": {
+        "@angular/animations": "4.4.6",
+        "@angular/cdk": "2.0.0-beta.12",
+        "@angular/common": "4.4.6",
+        "@angular/compiler": "4.4.6",
+        "@angular/core": "4.4.6",
+        "@angular/flex-layout": "2.0.0-beta.9",
+        "@angular/forms": "4.4.6",
+        "@angular/http": "4.4.6",
+        "@angular/material": "2.0.0-beta.12",
+        "@angular/platform-browser": "4.4.6",
+        "@angular/platform-browser-dynamic": "4.4.6",
+        "@angular/router": "4.4.6",
+        "jquery": "3.2.1",
+        "roboto-fontface": "0.7.0",
+        "rxjs": "5.4.3",
+        "systemjs": "0.20.17",
+        "systemjs-plugin-text": "0.0.11",
+        "zone.js": "0.8.7"
+      }
+    },
     "node-abi": {
       "version": "2.3.0",
       "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.3.0.tgz";,

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/b5b08af7/webapp/systemjs.config.js
----------------------------------------------------------------------
diff --git a/webapp/systemjs.config.js b/webapp/systemjs.config.js
index 429e4af..d4587e1 100644
--- a/webapp/systemjs.config.js
+++ b/webapp/systemjs.config.js
@@ -77,15 +77,15 @@
             'tslib': 'npm:tslib/tslib.js',
 
             // Fluid Design System
-            '@fluid-design-system/core': 
'npm:fluid-design-system/platform/core/fluid-design-system.module.js',
-            '@fluid-design-system/dialogs': 
'npm:fluid-design-system/platform/core/dialogs/fds-dialogs.module.js',
-            '@fluid-design-system/dialog-component': 
'npm:fluid-design-system/platform/core/dialogs/fds-dialog.component.js',
-            '@fluid-design-system/dialog-service': 
'npm:fluid-design-system/platform/core/dialogs/services/dialog.service.js',
-            '@fluid-design-system/confirm-dialog-component': 
'npm:fluid-design-system/platform/core/dialogs/confirm-dialog/confirm-dialog.component.js',
-            '@fluid-design-system/snackbars': 
'npm:fluid-design-system/platform/core/snackbars/fds-snackbars.module.js',
-            '@fluid-design-system/snackbar-component': 
'npm:fluid-design-system/platform/core/snackbars/fds-snackbar.component.js',
-            '@fluid-design-system/snackbar-service': 
'npm:fluid-design-system/platform/core/snackbars/services/snackbar.service.js',
-            '@fluid-design-system/coaster-component': 
'npm:fluid-design-system/platform/core/snackbars/coaster/coaster.component.js'
+            '@fluid-design-system/core': 
'npm:nifi-fds/platform/core/fluid-design-system.module.js',
+            '@fluid-design-system/dialogs': 
'npm:nifi-fds/platform/core/dialogs/fds-dialogs.module.js',
+            '@fluid-design-system/dialog-component': 
'npm:nifi-fds/platform/core/dialogs/fds-dialog.component.js',
+            '@fluid-design-system/dialog-service': 
'npm:nifi-fds/platform/core/dialogs/services/dialog.service.js',
+            '@fluid-design-system/confirm-dialog-component': 
'npm:nifi-fds/platform/core/dialogs/confirm-dialog/confirm-dialog.component.js',
+            '@fluid-design-system/snackbars': 
'npm:nifi-fds/platform/core/snackbars/fds-snackbars.module.js',
+            '@fluid-design-system/snackbar-component': 
'npm:nifi-fds/platform/core/snackbars/fds-snackbar.component.js',
+            '@fluid-design-system/snackbar-service': 
'npm:nifi-fds/platform/core/snackbars/services/snackbar.service.js',
+            '@fluid-design-system/coaster-component': 
'npm:nifi-fds/platform/core/snackbars/coaster/coaster.component.js'
         },
         // packages tells the System loader how to load when no filename 
and/or no extension
         packages: {

Reply via email to