UNPKG

dynamicsmobile

Version:

Allows development of off-line mobile and web business apps over the Dynamics Mobile platform. More info on https://www.dynamicsmobile.com

95 lines 7.34 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.WebPlatformBridge = void 0; const dms_platform_bridge_1 = require("../platform/dms-platform-bridge"); const dms_platform_web_configuration_manager_1 = require("./dms-platform-web-configuration-manager"); const dms_platform_web_context_manager_1 = require("./dms-platform-web-context-manager"); const dms_platform_web_filemanager_1 = require("./dms-platform-web-filemanager"); const dms_platform_web_device_1 = require("./dms-platform-web-device"); const dms_platform_web_docseries_1 = require("./dms-platform-web-docseries"); const dms_platform_web_location_1 = require("./dms-platform-web-location"); const dms_platform_web_livelinkquery_1 = require("./dms-platform-web-livelinkquery"); const dms_platform_web_printer_1 = require("./dms-platform-web-printer"); const dms_platform_web_sqlquery_1 = require("./dms-platform-web-sqlquery"); class WebPlatformBridge extends dms_platform_bridge_1.PlatformBridge { getCookie(name) { const nameLenPlus = name.length + 1; var result = null; if (typeof document === 'object') { result = document.cookie.split(";").map(c => c.trim()).filter(cookie => { return cookie.substring(0, nameLenPlus) === `${name}=`; }).map(cookie => { return decodeURIComponent(cookie.substring(nameLenPlus)); })[0] || null; } return result; } execNextQueue() { } constructor(dms) { super(dms); this.addIgnoredCommand("setSetting"); } execute(command, params) { if (this.commandIgnoreList.indexOf(command) >= 0) return; switch (command) { //configuration manager case "retreiveSettings": return (new dms_platform_web_configuration_manager_1.WebPlatformConfigurationManager(this.dms)).retreiveSettings(); case "saveAllSettings": return (new dms_platform_web_configuration_manager_1.WebPlatformConfigurationManager(this.dms)).saveSettings(params); //context manager case "saveAllSettings": return (new dms_platform_web_configuration_manager_1.WebPlatformConfigurationManager(this.dms)).saveSettings(params); case "ctxSetItem": return (new dms_platform_web_context_manager_1.WebPlatformUserInterfaceManager(this.dms)).setItem(params.key, params.value); case "ctxRemoveItem": return (new dms_platform_web_context_manager_1.WebPlatformUserInterfaceManager(this.dms)).remove(params.key); case "ctxClear": return (new dms_platform_web_context_manager_1.WebPlatformUserInterfaceManager(this.dms)).clear(); case "ctxGetItem": return (new dms_platform_web_context_manager_1.WebPlatformUserInterfaceManager(this.dms)).getItem(params.key); //file manager case "loadFile": return dms_platform_web_filemanager_1.WebPlatformFileManager.fileRead(params.fileName); case "filesList": return dms_platform_web_filemanager_1.WebPlatformFileManager.getDirFiles(params.folderName); case "saveFile": return dms_platform_web_filemanager_1.WebPlatformFileManager.fileWrite(params.fileName, params.content); case "fileDelete": return dms_platform_web_filemanager_1.WebPlatformFileManager.fileDelete(params.fileName); case "fileExists": return dms_platform_web_filemanager_1.WebPlatformFileManager.fileExist(params.fileName); //data access case "fetchsql": return (new dms_platform_web_sqlquery_1.WebPlatformSqlQuery(this.dms)).executeSql(params.query); case "execsql": return (new dms_platform_web_sqlquery_1.WebPlatformSqlQuery(this.dms)).executeSql(params.query); //livelink in web/simulator executes select sql against the backend database case "selectsql": return (new dms_platform_web_sqlquery_1.WebPlatformSqlQuery(this.dms)).executeSql(params.query); case "postToSyncLog": return (new dms_platform_web_livelinkquery_1.WebPlatformLiveLinkQuery(this.dms)).postToSynclog(params.instance); case "forwardSyncLog": return (new dms_platform_web_livelinkquery_1.WebPlatformLiveLinkQuery(this.dms)).forwardSynclog(params.appArea, params.instance); case "llexeccmd": return (new dms_platform_web_livelinkquery_1.WebPlatformLiveLinkQuery(this.dms)).execueCmd(); //device case "logOut": return (new dms_platform_web_device_1.WebPlatformDevice(this.dms)).logOut(); case "sync": return (new dms_platform_web_device_1.WebPlatformDevice(this.dms)).sync(); case "getDeviceInfo": return (new dms_platform_web_device_1.WebPlatformDevice(this.dms)).getInfo(); case "getUserName": return (new dms_platform_web_device_1.WebPlatformDevice(this.dms)).getUsername(); case "getUserIdentity": return (new dms_platform_web_device_1.WebPlatformDevice(this.dms)).getUserIdentity(); case "getApparea": return (new dms_platform_web_device_1.WebPlatformDevice(this.dms)).getApparea(); case "retreiveDocSeries": return (new dms_platform_web_docseries_1.WebPlatformDocSeries(this.dms)).retreiveDocSeries(); case "saveAllDocSeries": return (new dms_platform_web_docseries_1.WebPlatformDocSeries(this.dms)).saveAllDocSeries(params); case "getbtdevices": return new Promise(function (resolve, reject) { resolve(['#screen']); }); case "getLocation": return (new dms_platform_web_location_1.WebPlatformLocation(this.dms)).getLocation(); case "openWebBrowser": window.open(params.url, 'target="_blank"'); return new Promise(function (resolve) { resolve(0); }); case "getIPAddress": return new Promise(function (resolve, reject) { resolve('127.0.0.1'); }); case "takePicture": return (new dms_platform_web_device_1.WebPlatformDevice(this.dms)).takePicture(); case "selectPicture": return (new dms_platform_web_device_1.WebPlatformDevice(this.dms)).selectPicture(); case "convertPictureToBase64": return (new dms_platform_web_device_1.WebPlatformDevice(this.dms)).convertPictureToBase64(params); case "barcodescan": return (new dms_platform_web_device_1.WebPlatformDevice(this.dms)).barcodeScan(); case "postFileToCloud": return params.localUrl; case "getSessionKey": const s = dms_platform_web_device_1.WebPlatformDevice.getAuthroizationToken(); return new Promise(resolve => { resolve(s); }); case "print": return (new dms_platform_web_printer_1.WebPlatformPrinter(this.dms)).print(params); case "printImage": return (new dms_platform_web_printer_1.WebPlatformPrinter(this.dms)).printImage(params); case "soundBeepError": return null; case "soundBeepOk": return null; case "soundBeepDoubleOk": return null; case "hideKeyboard": return null; case "getLanguage": return (new dms_platform_web_device_1.WebPlatformDevice(this.dms)).getLanguage(); default: throw new Error(`WebPlatformBridge: Uknown command ${command}`); } } } exports.WebPlatformBridge = WebPlatformBridge; //# sourceMappingURL=dms-platform-web.js.map