angular.module('fbMocks') .factory('sideDrawerService', ['$q', function ($q: ng.IQService): fb.IMockSideDrawerService { var mockBase = new fb.MockBase($q); var params; var callback; var mockBase: fb.MockBase = new fb.MockBase($q); var resolve = function (type: fb.RequestType, identifier: string, returnValue: any): void { mockBase.resolve(mockBase.requestIdentifier(type, identifier), returnValue); }; var reject = function (type: fb.RequestType, identifier: string, returnValue: any): void { mockBase.reject(mockBase.requestIdentifier(type, identifier), returnValue); }; var getPendingRequests = function (): string[] { return mockBase.getPendingRequests(); }; var sideDrawer = [{ obj: undefined, params: undefined, callback: undefined, width: undefined, locked: undefined }]; var getParams = function () { return params; }; var currentSideDrawer = function () { return sideDrawer[0]; }; var previousSideDrawer = function () { return sideDrawer[0]; } var getCallback = function () { return callback }; var setSideDrawer = function (drawerName, paramsarg, width, callbackarg) { params = paramsarg; callback = callbackarg; }; var clearDrawer = function () { }; var getStateObject = function (): any { return { drawerName: undefined, params: (undefined) }; }; var getWidth = function () { return '' } var setParams = function (obj: any) { params = obj; } //Vet du ett snyggare sätt att lösa parametrarna får du gärna lösa det. Open end functions funkade inget bra var triggerCallback = function (param1?: any, param2?: any, param3?: any) { callback(param1, param2, param3); } var stack = function (drawerName, params, id, stateObj, callback?) { }; var queue = function (drawerName, params, id, stateObj, callback?) { }; var unstack = function () { return; } var stackQueue = function (drawerName, params, id, stateObj, callback?) { }; var unstackQueued = function () { }; var currentMode = function () { return 1; }; const isLocked = (): boolean => false; const lock = () => { }; const unlock = () => { }; const closeCurrentSideDrawer = (noDelay: boolean) => { }; const getSideDrawerTitle = (drawer: fb.IDrawer) => { return ''; }; return { sideDrawer: sideDrawer, currentSideDrawer: currentSideDrawer, getParams: getParams, getCallback: getCallback, setSideDrawer: setSideDrawer, clearDrawer: clearDrawer, getStateObject: getStateObject, resolve: resolve, reject: reject, getPendingRequests: getPendingRequests, getWidth: getWidth, setParams: setParams, triggerCallback: triggerCallback, stack: stack, queue: queue, unstack: unstack, previousInStack: previousSideDrawer, unstackQueued: unstackQueued, stackQueue: stackQueue, currentMode: currentMode, isLocked: isLocked, lock: lock, unlock: unlock, closeCurrentSideDrawer: closeCurrentSideDrawer, getSideDrawerTitle: getSideDrawerTitle } }]);