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
JavaScript
"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