diff options
Diffstat (limited to 'catalog-ui/src/app/view-models/welcome/welcome-view.ts')
-rw-r--r-- | catalog-ui/src/app/view-models/welcome/welcome-view.ts | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/catalog-ui/src/app/view-models/welcome/welcome-view.ts b/catalog-ui/src/app/view-models/welcome/welcome-view.ts new file mode 100644 index 0000000000..154a70c301 --- /dev/null +++ b/catalog-ui/src/app/view-models/welcome/welcome-view.ts @@ -0,0 +1,57 @@ +'use strict'; + +export interface IWelcomeViewMode { + onCloseButtonClick():void; +} + +export class WelcomeViewModel { + + firstLoad:boolean = true; + alreadyAnimated:Array<number> = []; + + static '$inject' = [ + '$scope', + '$state' + ]; + + constructor(private $scope:IWelcomeViewMode, + private $state:ng.ui.IStateService + ) { + this.init(); + this.initScope(); + window.setTimeout(():void => { + this.loadImages(():void=> { + window.setTimeout(():void =>{ + $(".sdc-welcome-new-page").addClass("animated fadeIn"); + },1000); + }); + },0); + } + + private initScope = ():void => { + this.$scope.onCloseButtonClick = ():void => { + this.$state.go("dashboard", {}); + }; + }; + + private init = ():void => { + let viewModelsHtmlBasePath:string = 'src/app/view-models/'; + $('body').keyup((e):void=> { + if (e.keyCode == 27) { // escape key maps to keycode `27` + this.$state.go('dashboard'); + } + }); + }; + + private loadImages = (callback:Function):void => { + let src = $('.sdc-welcome-wrapper').css('background-image'); + let url = src.match(/\((.*?)\)/)[1].replace(/('|")/g,''); + + let img = new Image(); + img.onload = function() { + callback(); + }; + img.src = url; + }; + +} |