scottohara/loot

View on GitHub
src/og-components/og-loading-spinner/directives/og-loading-spinner.ts

Summary

Maintainability
A
0 mins
Test Coverage
A
100%
import "~/og-components/og-loading-spinner/css/og-loading-spinner.css";
import type { OgLoadingSpinnerScope } from "~/og-components/og-loading-spinner/types";
import OgLoadingSpinnerView from "~/og-components/og-loading-spinner/views/loading.html";

export default class OgLoadingSpinnerDirective {
    public constructor() {
        const directive: angular.IDirective = {
            restrict: "A",
            scope: {
                message: "=ogLoadingSpinner",
            },
            templateUrl: OgLoadingSpinnerView,
            link: (scope: OgLoadingSpinnerScope): string =>
                (scope.loadingMessage =
                    undefined === scope.message || "" === scope.message
                        ? "Loading"
                        : scope.message),
        };

        return directive;
    }

    public static factory(): OgLoadingSpinnerDirective {
        return new OgLoadingSpinnerDirective();
    }
}

OgLoadingSpinnerDirective.factory.$inject = [];