diff --git a/.gitattributes b/.gitattributes index 6051c85..f64a42b 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,5 +1,5 @@ # Auto detect text files and perform LF normalization * text=auto -/wwwroot/scripts/js/external/* linguist-vendored +/wwwroot/scripts/external/* linguist-vendored /wwwroot/stylesheets/css/* linguist-vendored diff --git a/DredgePos.fsproj b/DredgePos.fsproj index 2f44ac8..6ae78fb 100644 --- a/DredgePos.fsproj +++ b/DredgePos.fsproj @@ -63,6 +63,7 @@ + diff --git a/wwwroot/scripts/js/external/jquery.js b/wwwroot/scripts/external/jquery.js similarity index 100% rename from wwwroot/scripts/js/external/jquery.js rename to wwwroot/scripts/external/jquery.js diff --git a/wwwroot/scripts/js/external/konva.js b/wwwroot/scripts/external/konva.js similarity index 100% rename from wwwroot/scripts/js/external/konva.js rename to wwwroot/scripts/external/konva.js diff --git a/wwwroot/scripts/js/external/konva.min.js b/wwwroot/scripts/external/konva.min.js similarity index 100% rename from wwwroot/scripts/js/external/konva.min.js rename to wwwroot/scripts/external/konva.min.js diff --git a/wwwroot/scripts/js/dredgepos.authenticate.js b/wwwroot/scripts/js/dredgepos.authenticate.js deleted file mode 100644 index 47b99f8..0000000 --- a/wwwroot/scripts/js/dredgepos.authenticate.js +++ /dev/null @@ -1,13 +0,0 @@ -let showLoginBox = () => showVirtualNumpad('Enter Login Code', 6, true, false, false, authenticate); -let authenticate = (input) => { - let login = ajaxSync('/ajax/authenticateClerk', input); - if (login === 'success') { - location.assign('/floorplan'); - } - else - showLoginBox(); -}; -$(() => { - showLoginBox(); -}); -//# sourceMappingURL=dredgepos.authenticate.js.map \ No newline at end of file diff --git a/wwwroot/scripts/js/dredgepos.authenticate.js.map b/wwwroot/scripts/js/dredgepos.authenticate.js.map deleted file mode 100644 index e0d1db3..0000000 --- a/wwwroot/scripts/js/dredgepos.authenticate.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"dredgepos.authenticate.js","sourceRoot":"","sources":["../ts/dredgepos.authenticate.ts"],"names":[],"mappings":"AAAA,IAAI,YAAY,GAAG,GAAG,EAAE,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,CAAC,CAAA;AAEnG,IAAK,YAAY,GAAG,CAAC,KAAc,EAAE,EAAE;IACnC,IAAI,KAAK,GAAG,QAAQ,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAA;IACtD,IAAG,KAAK,KAAK,SAAS,EAAC;QACnB,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;KAChC;;QAEG,YAAY,EAAE,CAAA;AACtB,CAAC,CAAA;AAED,CAAC,CAAC,GAAG,EAAE;IACH,YAAY,EAAE,CAAA;AAClB,CAAC,CAAC,CAAA"} \ No newline at end of file diff --git a/wwwroot/scripts/js/dredgepos.core.js b/wwwroot/scripts/js/dredgepos.core.js deleted file mode 100644 index 40ffba6..0000000 --- a/wwwroot/scripts/js/dredgepos.core.js +++ /dev/null @@ -1,150 +0,0 @@ -let Application = { - keyboard: null, - mode: [], - languageVars: {} -}; -/** Parses a language variable. */ -let lang = (key, replacements) => { - let finalValue = Application.languageVars[key] || ''; - if (!replacements) - return finalValue; - if (typeof replacements === 'string') - replacements = [replacements]; - replacements.forEach((replacement, index) => { - let correctIndex = index + 1; - finalValue = finalValue.replace(`[${correctIndex}]`, replacement); - }); - return finalValue; -}; -/** Check if a variable is defined */ -let defined = (variable) => { - return typeof variable !== 'undefined'; -}; -/** Call an Ajax function asynchronously */ -let ajax = (endpoint, data, method = 'POST', successFunction, errorFunction, beforeFunction) => { - data = (data == null) ? data : JSON.stringify(data); - return $.ajax({ - url: endpoint, - method: method, - data: data, - success: (response) => { - if (successFunction && response.status == 'success') - successFunction(JSON.parse(response.data)); - else if (errorFunction && response.status != 'success') { - errorFunction(JSON.parse(response.data)); - } - }, - error: (error) => console.log(error.statusCode), - beforeSend: beforeFunction - }); -}; -/* - For the flow of the app, synchronous is commonly preferred - though trying to keep its usage as low as possible. - */ -let ajaxSync = (endpoint, data, method = 'POST') => { - let response = JSON.parse($.ajax({ - url: endpoint, - method: method, - data: JSON.stringify(data), - async: false, - }).responseText); - if (response.data) { - response.data = JSON.parse(response.data); - return response.data; - } - return response; -}; -/* Redirect to a specific URL */ -let redirect = (url) => location.assign(url); -const resize = () => { - $('#pageContainer').height(window.innerHeight + "px"); -}; -let setupCore = (languageVars) => { - Application.languageVars = languageVars; - const doc = $(document); - doc.on('click', '#alertNo, #alertOk', hideAlerts); - window.addEventListener('resize', resize); - resize(); - setElementVisibilityByMode(); -}; -// @ts-ignore -let posAlert = (message, title = 'Message') => { - let alertBox = $('#alert'); - alertBox.css('display', 'flex'); - alertBox.data('value', ''); - $('#alertHeading').text(title); - $('#alertMessage').text(message); - $('#alertOk').css('display', 'flex'); - $('#alertYes').css('display', 'none'); - $('#alertNo').css('display', 'none'); -}; -let confirmation = (message, data, title = 'Confirm', submitFunction = (data) => { hideAlerts(); }) => { - let alert = $('#alert'); - $(document).on('click', '#alert #alertYes', () => { - hideAlerts(); - submitFunction(data); - $(document).off('click', '#alert #alertYes'); - }); - alert.css('display', 'flex'); - $('#alertHeading').html(title); - $('#alertMessage').html(message); - $('#alertOk').css('display', 'none'); - $('#alertYes').css('display', 'flex'); - $('#alertNo').css('display', 'flex'); -}; -let hideAlerts = () => $('#alert').hide(); -let turnOnMode = (mode) => { - Application.mode.push(mode); - setElementVisibilityByMode(); -}; -let turnOffMode = (mode) => { - Application.mode = Application.mode.filter((value) => value != mode); - setElementVisibilityByMode(); -}; -let toggleMode = (mode) => { - if (!isInMode(mode)) - turnOnMode(mode); - else - turnOffMode(mode); -}; -let clearModes = () => { Application.mode = []; }; -let isInMode = (mode) => Application.mode.includes(mode); -let setElementVisibilityByMode = () => { - const mode = Application.mode; - const elements = $('[data-visible-in-mode]'); - elements.each((index, elem) => { - let element = $(elem); - let visibleInModes = element.data('visible-in-mode'); - let showElement = visibleInModes.every(visibleMode => { - return mode.includes(visibleMode); - }); - if (element.hasClass('useVisibility')) { - if (showElement) { - element.css('visibility', 'visible'); - } - else - element.css('visibility', 'hidden'); - } - else - element.toggle(showElement); - }); - const invisibleElements = $('[data-invisible-in-mode]'); - invisibleElements.each((index, elem) => { - let element = $(elem); - let inVisibleInModes = element.data('invisible-in-mode'); - let hideElement = inVisibleInModes.some(invisibleMode => { - return mode.includes(invisibleMode); - }); - element.toggle(!hideElement); - }); - $('[data-active-in-mode]').each((index, elem) => { - const button = $(elem); - const activeInMode = button.data('active-in-mode'); - mode.includes(activeInMode) - ? button.addClass('active') - : button.removeClass('active'); - }); -}; -$(() => ajax('/ajax/languageVars', null, 'GET', setupCore, null, null)); -//# sourceMappingURL=dredgepos.core.js.map \ No newline at end of file diff --git a/wwwroot/scripts/js/dredgepos.core.js.map b/wwwroot/scripts/js/dredgepos.core.js.map deleted file mode 100644 index e89c57b..0000000 --- a/wwwroot/scripts/js/dredgepos.core.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"dredgepos.core.js","sourceRoot":"","sources":["../ts/dredgepos.core.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/wwwroot/scripts/js/dredgepos.floorplan.js b/wwwroot/scripts/js/dredgepos.floorplan.js deleted file mode 100644 index f3fd47b..0000000 --- a/wwwroot/scripts/js/dredgepos.floorplan.js +++ /dev/null @@ -1,645 +0,0 @@ -/// -const Floorplan = { - rooms: [], - tables: [], - decorations: [], - reservations: [], - activeTableNumbers: [], - stage: null, - transformer: null, - tableLayer: null, - selectedTableNumber: 0, - currentRoom: null, - roomToLoad: null, - visualScale: 1, - visualScaleBasis: 1280, - floorplanDiv: null, - selectedDecorationId: 0 -}; -$(() => ajax('/ajax/getFloorplanData/1', null, 'get', setupFloorplan, null, null)); -const setupFloorplanEvents = () => { - const doc = $(document); - doc.on('click', '.roomButton', roomButtonClicked); - doc.on('click', '.editModeButton', editModeButtonClicked); - doc.on('click', '.changeShapeButton', changeTableShape); - doc.on('click', '.addTableButton', showAddTablePopup); - doc.on('click', '.deleteTableButton', confirmDeleteTable); - doc.on('click', '.addDecoration', showDecorator); - doc.on('click', '.deleteDecoration', deleteDecoration); - doc.on('click', '.decoratorItem', addDecoration); - doc.on('click', '.mergeButton', toggleMergeMode); - doc.on('click', '.unmergeButton', unmergeTable); - doc.on('click', '.transferTableButton', toggleTransferMode); - doc.on('click', '.reserveTableButton', reserveTable); - doc.on('click', '.unreserveTableButton', unreserveTable); -}; -const roomButtonClicked = (e) => { - const button = $(e.target); - const roomId = button.data('value'); - loadRoom(getRoomById(roomId)); -}; -const editModeButtonClicked = (e) => { - const button = $(e.target); - button.toggleClass('active'); - toggleMode('edit'); - if (isInMode('edit')) { - Floorplan.stage.find('Group, Image').forEach(table => table.draggable(true)); - if (isInMode('tableSelected')) { - const selectedTableShape = getTableShapeFromTableNumber(Floorplan.selectedTableNumber); - selectTable(selectedTableShape); - } - } - else { - setTransformerNodes([]); - Floorplan.stage.find('Group, Image').forEach(table => table.draggable(false)); - } -}; -const setupFloorplan = (floorplanData) => { - Floorplan.tables = floorplanData.tables; - Floorplan.activeTableNumbers = floorplanData.activeTableNumbers; - Floorplan.rooms = floorplanData.rooms; - Floorplan.decorations = floorplanData.decorations; - Floorplan.reservations = floorplanData.reservations; - getDimensions(); - setupFloorplanEvents(); - loadRoom(Floorplan.rooms[0]); -}; -const loadRoom = (roomToLoad) => { - setRoomBackground(roomToLoad); - setupKonva(); - $('.roomButton').removeClass('active'); - let button = $(`.roomButton[data-value=${roomToLoad.id}]`); - button.addClass('active'); - const tablesInRoom = Floorplan.tables.filter(table => table.room_id == roomToLoad.id); - const decorationsInRoom = Floorplan.decorations.filter(decoration => decoration.decoration_room == roomToLoad.id); - decorationsInRoom.forEach(decoration => createDecorationShape(decoration, false)); - tablesInRoom.forEach(createTableShape); - if (!isInMode('transfer')) { - deselectTables(); - } - Floorplan.currentRoom = roomToLoad; -}; -const getRoomById = (roomId) => { - return Floorplan.rooms.find((room) => room.id == roomId); -}; -const tableIsOpen = (table) => Floorplan.activeTableNumbers.includes(table.table_number); -const createTableShape = (table) => { - const draggable = isInMode('edit'); - const tableGroup = new Konva.Group({ - x: table.pos_x * Floorplan.visualScale, - y: table.pos_y * Floorplan.visualScale, - draggable: draggable, - listening: true, - id: table.table_number.toString() - }); - const fillColor = tableIsOpen(table) - ? 'lightblue' - : table.status == 2 - ? 'lightgreen' - : 'gray'; - let tableShape; - switch (table.shape) { - case "circle": // fall-through - case "ellipse": // fall-through - case "longellipse": - tableShape = new Konva.Ellipse({ - x: 0, - y: 0, - radiusX: table.width * 0.5 * Floorplan.visualScale, - radiusY: table.height * 0.5 * Floorplan.visualScale, - rotation: table.rotation, - fill: fillColor, - stroke: "black", - strokeWidth: 4, - draggable: false, - listening: true - }); - break; - default: - tableShape = new Konva.Rect({ - x: 0, - y: 0, - offsetX: table.width * 0.5 * Floorplan.visualScale, - offsetY: table.height * 0.5 * Floorplan.visualScale, - width: table.width * Floorplan.visualScale, - height: table.height * Floorplan.visualScale, - rotation: table.rotation, - fill: fillColor, - stroke: "black", - strokeWidth: 4, - draggable: false, - listening: true - }); - break; - } - const label = new Konva.Text({ - x: table.width * -0.5 * Floorplan.visualScale, - y: table.height * -0.5 * Floorplan.visualScale, - width: table.width * Floorplan.visualScale, - height: table.height * Floorplan.visualScale, - text: table.table_number.toString(), - fontSize: 40 * Floorplan.visualScale, - fill: "black", - align: "center", - verticalAlign: "middle", - draggable: false, - listening: false - }); - tableGroup.add(tableShape, label); - setupTableEvents(tableGroup); - Floorplan.tableLayer.add(tableGroup); - return tableGroup; -}; -const setupTableEvents = (tableGroup) => { - const tableShape = getTableShapeFromGroup(tableGroup); - tableGroup.on('click', tableClicked); - tableGroup.on('tap', tableClicked); - tableGroup.on('dragend', tableGroupTransformed); - tableShape.on('transformend', tableShapeTransformed); -}; -const getTableShapeFromGroup = (group) => group.getChildren()[0]; -const getTableGroupFromShape = (shape) => shape.parent; -const tableGroupTransformed = (e) => { - saveTableTransformation(e.target); -}; -const tableShapeTransformed = (e) => { - let shape = e.target; - let group = getTableGroupFromShape(shape); - saveTableTransformation(group); -}; -const saveTableTransformation = (tableGroup) => { - const originalTable = getTableDataFromGroup(tableGroup); - const tableShape = getTableShapeFromGroup(tableGroup); - const newTableInfo = { - table_number: originalTable.table_number, - previous_state: originalTable.previous_state, - merged_children: originalTable.merged_children, - id: originalTable.id, - width: Math.round(tableShape.scaleX() * tableShape.width() / Floorplan.visualScale), - height: Math.round(tableShape.scaleY() * tableShape.height() / Floorplan.visualScale), - pos_x: Math.round(tableGroup.x() / Floorplan.visualScale), - pos_y: Math.round(tableGroup.y() / Floorplan.visualScale), - rotation: Math.round(tableShape.rotation()), - room_id: originalTable.room_id, - status: originalTable.status, - venue_id: originalTable.venue_id, - shape: originalTable.shape, - default_covers: originalTable.default_covers, - }; - saveTable(newTableInfo); - redrawTable(tableGroup); -}; -const saveTable = (tableToUpdate) => { - const tables = Floorplan - .tables - .filter(table => { - return table.id != tableToUpdate.id; - }); - tables.push(tableToUpdate); - Floorplan.tables = tables; - ajax("/ajax/transformTable", tableToUpdate, 'post', null, null, null); -}; -const setTransformerNodes = (nodes) => { - Floorplan.transformer.moveToTop(); - if (nodes.length < 1) - Floorplan.transformer.moveToBottom(); - Floorplan.transformer.nodes(nodes); -}; -const getTableDataFromTableNumber = (tableNumber) => { - return Floorplan.tables.filter(table => table.table_number == tableNumber)[0]; -}; -const getTableDataFromGroup = (tableGroup) => { - const tableNumber = tableGroup.attrs.id; - return Floorplan.tables.find(table => tableNumber == table.table_number); -}; -const getTableDataFromShape = (tableShape) => getTableDataFromGroup(tableShape.parent); -const getTableShapeFromTableNumber = (tableNumber) => { - const tableGroup = Floorplan.stage.find('Group').find((group) => { - return group.attrs.id == tableNumber; - }); - return tableGroup.getChildren()[0]; -}; -const getTableGroupFromTableNumber = (tableNumber) => { - const tableShape = getTableShapeFromTableNumber(tableNumber); - return getTableGroupFromShape(tableShape); -}; -const setReservationStatus = (table) => { - const reservationText = $('.reservationStatus'); - const tableShape = getTableShapeFromTableNumber(table.table_number); - reservationText.text(''); - if (table.status == 2) { - tableShape.fill('lightgreen'); - const reservations = Floorplan.reservations.filter(reservation => reservation.reservation_table_id == table.id); - if (reservations.length) { - turnOnMode('reservedTableSelected'); - reservationText.text(lang('reserved')); - let reservation = reservations[0]; - if (reservation.reservation_name != '') { - reservationText.text(lang('reserved_for', reservation.reservation_name)); - } - } - } - else { - let fillColor = tableIsOpen(table) ? 'lightblue' : 'gray'; - tableShape.fill(fillColor); - turnOffMode('reservedTableSelected'); - } -}; -const reserveTable = () => { - showVirtualNumpad(lang('how_many_covers'), 2, false, false, true, createEmptyReservation); -}; -const createEmptyReservation = (covers) => { - const newReservation = { - id: 0, - reservation_covers: covers, - reservation_created_at: 0, - reservation_table_id: getSelectedTableData().id, - reservation_name: '', - reservation_time: 0, - }; - ajax('/ajax/newEmptyReservation', newReservation, 'post', emptyReservationCreated, null, null); -}; -const emptyReservationCreated = (reservation) => { - Floorplan.reservations.push(reservation); - const selectedTable = getSelectedTableData(); - selectedTable.status = 2; - selectedTable.default_covers = reservation.reservation_covers; - updateTableData(selectedTable); - updateCoverText(selectedTable); - setReservationStatus(getSelectedTableData()); - showVirtualKeyboard(lang('confirm_reservation_name'), 32, false, addReservationName); -}; -const addReservationName = (name) => { - hideVirtualKeyboard(); - const reservation = Floorplan.reservations.filter(reservation => reservation.reservation_table_id == getSelectedTableData().id)[0]; - reservation.reservation_name = name; - ajax('/ajax/updateReservation', reservation, 'post', reservationNameAdded, null, null); -}; -const reservationNameAdded = (updatedReservation) => { - console.log(updatedReservation); - Floorplan.reservations = Floorplan.reservations.filter(reservation => reservation.id != updatedReservation.id); - Floorplan.reservations.push(updatedReservation); - setReservationStatus(getSelectedTableData()); -}; -const getReservationsOnTable = (table) => Floorplan.reservations.filter(reservation => reservation.reservation_table_id == table.id); -const updateTableData = (tableToRemove) => { - Floorplan.tables = Floorplan.tables.filter(table => table.id != tableToRemove.id); - Floorplan.tables.push(tableToRemove); -}; -const unreserveTable = () => { - const selectedTable = getSelectedTableData(); - selectedTable.status = 0; - ajax('/ajax/unreserveTable', selectedTable, 'post', tableUnreserved, null, null); -}; -const tableUnreserved = (table) => { - Floorplan.reservations = Floorplan.reservations.filter(reservation => reservation.reservation_table_id != table.id); - updateTableData(table); - setReservationStatus(table); -}; -const getSelectedTableData = () => getTableDataFromTableNumber(Floorplan.selectedTableNumber); -const deselectTables = () => { - Floorplan.stage.find('Rect, Ellipse').forEach((shape, index) => { - shape.stroke('black'); - }); - Floorplan.selectedDecorationId = 0; - Floorplan.selectedTableNumber = 0; - turnOffMode('tableSelected'); - turnOffMode('activeTableSelected'); - turnOffMode('decorationSelected'); - turnOffMode('merge'); - turnOffMode('transfer'); - setTransformerNodes([]); -}; -const selectTable = (tableShape) => { - tableShape.stroke('yellow'); - const table = getTableDataFromShape(tableShape); - Floorplan.selectedTableNumber = table.table_number; - if (isInMode('edit')) { - setTransformerNodes([tableShape]); - } - if (tableIsOpen(table)) { - turnOnMode('activeTableSelected'); - } - $('.reservationStatus').html('' + lang('active_table', table.table_number.toString() + '')); - updateCoverText(table); - $('.selectedTableNumber').text(lang('active_table', table.table_number.toString())); - setReservationStatus(table); - const unmergeVisibility = table.merged_children ? 'visible' : 'hidden'; - $('.unmergeButton').css('visibility', unmergeVisibility); - turnOnMode('tableSelected'); -}; -const updateCoverText = (table) => $('.selectedTableCovers').text(lang('covers', table.default_covers.toString())); -const tableClicked = (event) => { - let tableShape = getTableShapeFromGroup(event.currentTarget); - const table = getTableDataFromShape(tableShape); - if (isInMode('merge')) { - mergeTables(getTableDataFromTableNumber(Floorplan.selectedTableNumber), table); - return; - } - if (isInMode('transfer')) { - transferTables(getTableDataFromTableNumber(Floorplan.selectedTableNumber), table); - } - const selectedTableNumber = Floorplan.selectedTableNumber; - deselectTables(); - if (selectedTableNumber != table.table_number) { - selectTable(tableShape); - } -}; -const createDecorationShape = (decoration, select) => { - const draggable = isInMode('edit'); - const decorationShape = new Image(); - decorationShape.onload = () => { - const decorationImage = new Konva.Image({ - id: decoration.id.toString(), - x: decoration.decoration_pos_x * Floorplan.visualScale, - y: decoration.decoration_pos_y * Floorplan.visualScale, - image: decorationShape, - offsetX: decoration.decoration_width * 0.5 * Floorplan.visualScale, - offsetY: decoration.decoration_height * 0.5 * Floorplan.visualScale, - rotation: decoration.decoration_rotation, - width: decoration.decoration_width * Floorplan.visualScale, - height: decoration.decoration_height * Floorplan.visualScale, - draggable: draggable, - }); - // add the shape to the layer - Floorplan.tableLayer.add(decorationImage); - Floorplan.tableLayer.draw(); - decorationImage.moveToBottom(); - setupDecorationEvents(decorationImage); - if (select) { - decorationImage.moveToTop(); - selectDecorationShape(decorationImage); - } - }; - decorationShape.src = 'images/decorations/' + decoration.decoration_image; -}; -const setupDecorationEvents = (decorationShape) => { - decorationShape.on('click', decorationClicked); - decorationShape.on('tap', decorationClicked); - decorationShape.on('transformend', decorationTransformed); - decorationShape.on('dragend', decorationTransformed); -}; -const decorationClicked = (event) => { - let decorationShape = event.target; - if (isInMode('edit')) { - turnOffMode('tableSelected'); - if ((Floorplan.transformer.nodes().length > 0 && Floorplan.transformer.nodes()[0] != decorationShape) || Floorplan.transformer.nodes().length == 0) { - selectDecorationShape(decorationShape); - } - else { - deselectTables(); - decorationShape.moveToBottom(); - } - } -}; -const selectDecorationShape = (decorationShape) => { - deselectTables(); - Floorplan.transformer.nodes([decorationShape]); - Floorplan.selectedDecorationId = Number(decorationShape.id()); - decorationShape.moveToTop(); - Floorplan.transformer.moveToTop(); - turnOnMode('decorationSelected'); -}; -const getDecorationDataById = (id) => { - return Floorplan.decorations.find(decoration => id == decoration.id); -}; -const decorationTransformed = (event) => { - let decorationShape = event.currentTarget; - const oldDecorationData = getDecorationDataById(Number(decorationShape.id())); - const newDecoration = { - id: oldDecorationData.id, - decoration_room: oldDecorationData.decoration_room, - decoration_pos_x: Math.round(decorationShape.x() / Floorplan.visualScale), - decoration_pos_y: Math.round(decorationShape.y() / Floorplan.visualScale), - decoration_rotation: Math.round(decorationShape.rotation()), - decoration_width: Math.round((decorationShape.scaleX() * decorationShape.width()) / Floorplan.visualScale), - decoration_height: Math.round((decorationShape.scaleY() * decorationShape.height()) / Floorplan.visualScale), - decoration_image: oldDecorationData.decoration_image, - }; - saveDecoration(newDecoration); -}; -const saveDecoration = (decorationToUpdate) => { - const decorations = Floorplan - .decorations - .filter(decoration => { - return decoration.id != decorationToUpdate.id; - }); - decorations.push(decorationToUpdate); - Floorplan.decorations = decorations; - ajax("/ajax/updateDecoration", decorationToUpdate, 'post', null, null, null); -}; -const showDecorator = () => $('#decorator').css('display', 'flex'); -const hideDecorator = () => $('#decorator').css('display', 'flex').hide(); -const addDecoration = (e) => { - const button = $(e.currentTarget); - const newDecoration = { - id: 0, - decoration_room: Floorplan.currentRoom.id, - decoration_pos_x: Floorplan.visualScaleBasis / 2, - decoration_pos_y: Floorplan.visualScaleBasis / 2, - decoration_rotation: 0, - decoration_width: 200, - decoration_height: 200, - decoration_image: button.data('image') - }; - ajax('/ajax/addDecoration', newDecoration, 'post', decorationAdded, null, null); -}; -const decorationAdded = (decoration) => { - Floorplan.decorations.push(decoration); - createDecorationShape(decoration, true); - hideDecorator(); -}; -const deleteDecoration = () => ajax('/ajax/deleteDecoration', getDecorationDataById(Floorplan.selectedDecorationId), 'post', decorationDeleted, null, null); -const decorationDeleted = (deletedDecoration) => { - Floorplan.decorations = Floorplan.decorations.filter(decoration => decoration.id != deletedDecoration.id); - const decorationShape = Floorplan.stage.findOne(`#${deletedDecoration.id}`); - decorationShape.destroy(); - deselectTables(); -}; -const setRoomBackground = (roomToLoad) => { - const width = Floorplan.floorplanDiv.width(); - const height = Floorplan.floorplanDiv.height(); - Floorplan.floorplanDiv.css("background-image", `url(images/rooms/${roomToLoad.background_image})`); - Floorplan.floorplanDiv.css("background-size", `${width}px ${height}px`); -}; -const setupKonva = () => { - const dimensions = getDimensions(); - if (Floorplan.stage !== null) - Floorplan.stage.destroy(); - Floorplan.stage = new Konva.Stage({ - container: 'floorplanCanvas', - width: dimensions.width, - height: dimensions.height, - }); - Floorplan.stage.on('click', e => { - if (e.target == Floorplan.stage) { - deselectTables(); - } - }); - Floorplan.transformer = new Konva.Transformer({ - rotationSnaps: [0, 15, 30, 45, 60, 75, 90, 105, 120, 135, 150, 165, 180, 225, 270, -15, -30, -45, -60, -75, -90, -105, -120, -135, -150, -165, -180, -225, -270, 360, -360], - anchorSize: 30 * Floorplan.visualScale, - ignoreStroke: true, - centeredScaling: true, - anchorCornerRadius: 10, - }); - Floorplan.tableLayer = new Konva.Layer(); - Floorplan.tableLayer.add(Floorplan.transformer); - Floorplan.stage.add(Floorplan.tableLayer); -}; -const resetKonva = setupKonva; -const changeTableShape = () => { - if (!Floorplan.selectedTableNumber) - return; - const table = getTableDataFromTableNumber(Floorplan.selectedTableNumber); - const tableGroup = getTableGroupFromTableNumber(table.table_number); - const order = ['square', 'rect', 'longrect', 'diamond', 'circle', 'ellipse', 'longellipse']; - if (order.indexOf(table.shape) === -1) - table.shape = 'square'; - const currentIndex = order.indexOf(table.shape); - let nextIndex = currentIndex + 1; - if (nextIndex > (order.length) - 1) - nextIndex = 0; - table.shape = order[nextIndex]; - switch (table.shape) { - case 'square': - case 'circle': - // noinspection JSSuspiciousNameCombination - table.height = table.width; - table.rotation = 0; - break; - case 'diamond': - // noinspection JSSuspiciousNameCombination - table.height = table.width; - table.rotation = 45; - break; - case 'rect': - case 'ellipse': - table.height = table.width * 2; - table.rotation = 0; - break; - case 'longrect': - case 'longellipse': - table.rotation = 90; - break; - } - saveTable(table); - deselectTables(); - redrawTable(tableGroup); -}; -const redrawTable = (tableGroup) => { - deselectTables(); - const draggable = tableGroup.draggable(); - const table = getTableDataFromGroup(tableGroup); - tableGroup.destroy(); - const newTableGroup = createTableShape(table); - const newTableShape = getTableShapeFromTableNumber(table.table_number); - selectTable(newTableShape); - newTableGroup.draggable(draggable); -}; -const showAddTablePopup = () => showVirtualNumpad(lang('new_table_number'), 4, false, false, true, addTable); -const addTable = (tableNumber) => { - const newTable = { - id: 0, - table_number: tableNumber, - room_id: Floorplan.currentRoom.id, - default_covers: 2, - width: 200, - height: 200, - rotation: 0, - pos_x: Floorplan.visualScaleBasis / 2, - pos_y: Floorplan.visualScaleBasis / 2, - shape: 'square', - merged_children: '', - previous_state: '', - status: 0, - venue_id: 1 - }; - ajax('/ajax/createTable', newTable, 'post', tableAdded, tableNotAdded, null); -}; -const tableAdded = (table) => { - deselectTables(); - const newTableGroup = createTableShape(table); - Floorplan.tables.push(table); - selectTable(getTableShapeFromGroup(newTableGroup)); -}; -const tableNotAdded = (response) => { - posAlert(response); -}; -const confirmDeleteTable = () => confirmation(lang('confirm_delete_table', Floorplan.selectedTableNumber.toString()), Floorplan.selectedTableNumber, 'Confirm', deleteTable); -const deleteTable = (tableNumber) => { - if (!tableNumber) - return false; - const tableToDelete = getTableDataFromTableNumber(tableNumber); - if (tableIsOpen(tableToDelete)) { - posAlert(lang('error_delete_existing_table')); - return false; - } - ajax(`/ajax/deleteTable`, tableToDelete, 'post', tableDeleted, null, null); -}; -const tableDeleted = (deletedTable) => { - Floorplan.tables = Floorplan.tables.filter(table => table.table_number != deletedTable.table_number); - const tableGroup = getTableGroupFromTableNumber(deletedTable.table_number); - deselectTables(); - tableGroup.destroy(); -}; -const toggleMergeMode = () => toggleMode('merge'); -const mergeTables = (table1, table2) => { - toggleMergeMode(); - if (table1.table_number == table2.table_number) { - posAlert(lang('error_self_merge')); - return false; - } - ajax('/ajax/mergeTables', [table1, table2], 'post', tablesMerged, null, null); -}; -const tablesMerged = (tables) => { - tableDeleted(tables['child']); - tableDeleted(tables['parent']); - tableAdded(tables['merged']); - deselectTables(); - const tableGroup = getTableGroupFromTableNumber(tables['merged'].table_number); - selectTable(getTableShapeFromGroup(tableGroup)); - tableGroup.draggable(true); -}; -const unmergeTable = () => ajax(`/ajax/unmergeTable/${Floorplan.selectedTableNumber}`, null, 'get', tablesUnmerged, null, null); -const tablesUnmerged = (tables) => { - const parentTable = tables['parent']; - const childTable = tables['child']; - tableDeleted(parentTable); - tableAdded(parentTable); - tableAdded(childTable); - deselectTables(); -}; -const toggleTransferMode = () => toggleMode('transfer'); -const transferTables = (origin, destination) => { - if (origin.table_number == destination.table_number) { - posAlert(lang('transfer_self_error')); - return; - } - ajax(`/ajax/transferTable/${origin.table_number}/${destination.table_number}`, null, 'get', tableTransferred, null, null); -}; -const tableTransferred = (tables) => { - const origin = tables['origin']; - const destination = tables['destination']; - Floorplan.activeTableNumbers = Floorplan.activeTableNumbers.filter(tableNumber => tableNumber != origin.table_number); - Floorplan.activeTableNumbers.push(destination.table_number); - if (Floorplan.currentRoom.id == origin.room_id) { - redrawTable(getTableGroupFromTableNumber(origin.table_number)); - } - redrawTable(getTableGroupFromTableNumber(destination.table_number)); -}; -const getDimensions = () => { - Floorplan.floorplanDiv = $('#floorplanCanvas'); - const parentDiv = $('#floorplanCenterColumn .middleCell'); - const outerWidth = parentDiv.outerWidth(); - const outerHeight = parentDiv.outerHeight(); - if (outerWidth >= outerHeight) { - Floorplan.floorplanDiv.css('height', '100%'); - } - else { - Floorplan.floorplanDiv.css('width', '100%'); - } - Floorplan.visualScale = Floorplan.floorplanDiv.width() / Floorplan.visualScaleBasis; - return { width: Floorplan.floorplanDiv.width(), height: Floorplan.floorplanDiv.height() }; -}; -//# sourceMappingURL=dredgepos.floorplan.js.map \ No newline at end of file diff --git a/wwwroot/scripts/js/dredgepos.floorplan.js.map b/wwwroot/scripts/js/dredgepos.floorplan.js.map deleted file mode 100644 index 0f0e61d..0000000 --- a/wwwroot/scripts/js/dredgepos.floorplan.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"dredgepos.floorplan.js","sourceRoot":"","sources":["../ts/dredgepos.floorplan.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/wwwroot/scripts/js/keyboards.js b/wwwroot/scripts/js/keyboards.js deleted file mode 100644 index c9b620b..0000000 --- a/wwwroot/scripts/js/keyboards.js +++ /dev/null @@ -1,224 +0,0 @@ -let showVirtualNumpad = (heading, maxlength = 4, isPassword, allowDecimals = true, allowClose = true, submitFunction) => { - let numpad = $('#virtualNumpad'); - let inputBox = $('#virtualNumpadInput'); - let closeKeyboardButton = $('.closeKeyboards'); - numpad.css('display', 'flex'); - let showCloseButton = allowClose ? 'flex' : 'none'; - closeKeyboardButton.css('display', showCloseButton); - $('#virtualNumpadHeading').html(heading); - /* - The numpad always submits to a function. - If a function isn't specified, it will submit - to the same function that called it - */ - numpad.data('value', ''); - inputBox.text(''); - numpad.data('maxlength', maxlength); - numpad.data('submitfunction', submitFunction); - numpad.data('password', isPassword); - numpad.data('allowdecimals', allowDecimals); - $(document).off('keyup'); - $(document).on('keyup', e => { - let key = e.key; - switch (key) { - case 'Backspace': - case 'Delete': - key = 'clear'; - break; - case 'Enter': - key = 'submit'; - break; - } - virtualNumpadInput(key); - }); -}; -let hideVirtualKeyboard = () => { - let keyboard = $('#virtualKeyboard'); - keyboard.hide(); - $('#virtualKeyboardHeading').html(''); - $(document).unbind('keyup'); -}; -let hideVirtualNumpad = () => { - let numpad = $('#virtualNumpad'); - numpad.css('display', 'none'); - $('#virtualNumpadHeading').html(''); - $(document).unbind('keyup'); -}; -let virtualNumpadInput = (input) => { - let inputBox = $('#virtualNumpadInput'); - let numpad = $('#virtualNumpad'); - let maxlength = numpad.data('maxlength'); - let allowDecimals = numpad.data('allowdecimals'); - let submitFunction = numpad.data('submitfunction'); - let allowedValues = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'submit', 'clear']; - let currentValue = numpad.data('value').toString(); - if (allowDecimals) - allowedValues.push('.', ','); - let validInput = allowedValues.includes(input); - //If the input is a valid number, decimal point or command. - if (validInput) { - switch (input) { - case 'submit': - hideVirtualNumpad(); - let numpadValue = numpad.data('value').length > 0 ? numpad.data('value') : "0"; - submitFunction(numpadValue); - break; - case 'clear': - clearNumpadInput(); - break; - default: - let newText = currentValue + input; - let isPassword = numpad.data('password'); - let length = input.length + inputBox.text().length; - if (length <= maxlength) { - inputBox.append(isPassword ? '*' : input); - numpad.data('value', newText); - } - } - } -}; -let clearNumpadInput = () => { - $('#virtualNumpadInput').text(""); - $('#virtualNumpad').data('value', ''); -}; -let setupVirtualNumpad = () => { - $(document).on('click', '.virtualNumpadButton', e => { - virtualNumpadInput($(e.target).data('value').toString()); - }); - $('.closeKeyboards').on('click', () => { - hideVirtualKeyboard(); - hideVirtualNumpad(); - }); -}; -let setupVirtualKeyboard = (keyboardLayouts) => { - Application.keyboard = { - capsLock: false, - shift: false, - layouts: keyboardLayouts, - currentLayout: 'default', - }; - $(document).on('click', '.virtualKeyboardButton', e => { - virtualKeyboardInput($(e.target).data('value')); - }); - $(document).on('click', '.forceFocus', (e) => { - $('#virtualKeyboardInput').trigger('focus'); - }); - setKeyboardLayout('default'); -}; -let showVirtualKeyboard = (heading, maxlength = 32, isPassword = false, submitFunction = () => { hideVirtualKeyboard(); }) => { - let keyboard = $('#virtualKeyboard'); - let inputBox = $('#virtualKeyboardInput'); - keyboard.css('display', 'flex'); - $('#virtualKeyboardHeading').html(heading); - $('.forceFocus').trigger('click'); - keyboard.data('value', ''); - inputBox.val(''); - keyboard.data('maxlength', maxlength); - keyboard.data('password', isPassword); - keyboard.data('submitfunction', submitFunction); - inputBox.attr('autofocus', 'autofocus'); - inputBox.trigger('focus'); - inputBox.trigger('click'); - inputBox.trigger('select'); - $(document).on('keyup', e => { - let key = e.key; - if (key == 'Enter' && inputBox.val().toString().length > 0) { - key = 'submit'; - virtualKeyboardInput(key); - } - }); -}; -let virtualKeyboardInput = (input) => { - let inputBox = $('#virtualKeyboardInput'); - let keyboard = $('#virtualKeyboard'); - let maxlength = keyboard.data('maxlength'); - let isPassword = keyboard.data('password'); - let length = input.length + inputBox.text().length; - switch (input.toLowerCase()) { - case 'backspace': - case 'delete': - let newText = inputBox.text().slice(0, -1); - inputBox.val(newText); - keyboard.data('value', newText); - break; - case 'submit': - hideVirtualKeyboard(); - let submitFunction = keyboard.data('submitfunction'); - submitFunction(inputBox.val()); - break; - case 'shift': - if (Application.keyboard.capsLock) - break; - Application.keyboard.shift = !Application.keyboard.shift; - Application.keyboard.capsLock = false; - setKeyboardLayout('default', Application.keyboard.shift ? 'shift' : ''); - break; - case 'capslock': - Application.keyboard.shift = false; - Application.keyboard.capsLock = !Application.keyboard.capsLock; - let capsLockButton = $('[data-value="capslock"]'); - capsLockButton.toggleClass('active'); - setKeyboardLayout('default', Application.keyboard.capsLock ? 'shift' : ''); - break; - case 'space': - input = ' '; - break; - } - //Stops keys such as F5 being pressed. - if (input.length == 1) { - if (Application.keyboard.shift || Application.keyboard.capsLock) { - input = input.toUpperCase(); - //If shift, reload lowercase - if (Application.keyboard.shift) { - Application.keyboard.shift = false; - setKeyboardLayout('default'); - } - } - let newText = inputBox.val() + input; - keyboard.data('value', newText); - inputBox.val(newText); - } -}; -let setKeyboardLayout = (layout, modifier = '') => { - if (modifier != '') - modifier = `_${modifier}`; - Application.keyboard.currentLayout = layout; - let layoutToLoad = Application.keyboard.layouts[layout]; - $('.virtualKeyboardRow').each((index, row) => { - /* - We start at 1 instead of 0. Makes it easier for non-programmers - and translators making their own language packs - */ - index = index + 1; - // @ts-ignore - let currentRow = layoutToLoad[`row${index}${modifier}`]; - $(row).children('a').each((keyIndex, button) => { - let key = $(button); - let keyValue = currentRow[keyIndex]; - /* - KeyText is the text that appears - in the button. KeyData is the value - submitted when the button is pressed. - */ - let keyText = keyValue; - let keyData = keyValue; - key.addClass('posButton'); - key.addClass('virtualKeyboardButton'); - let pattern = new RegExp(/\[([^)]+)\]/); - let matches = keyValue.match(pattern); - if (matches) { - keyText = keyValue.replace(pattern, ''); - keyData = matches[1]; - } - key.html(keyText); - //Use attr() as some keys have CSS dependent on data-value - key.attr('data-value', keyData); - key.data('value', keyData); - }); - }); -}; -$(() => { - setupVirtualNumpad(); - ajax('/ajax/getKeyboardLayout/english', null, 'get', setupVirtualKeyboard, null, null); -}); -//# sourceMappingURL=keyboards.js.map \ No newline at end of file diff --git a/wwwroot/scripts/js/keyboards.js.map b/wwwroot/scripts/js/keyboards.js.map deleted file mode 100644 index 6013174..0000000 --- a/wwwroot/scripts/js/keyboards.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"keyboards.js","sourceRoot":"","sources":["../ts/keyboards.ts"],"names":[],"mappings":"AAMA,IAAI,iBAAiB,GAAG,CAAC,OAAe,EAAE,SAAS,GAAG,CAAC,EAAE,UAAmB,EAAE,aAAa,GAAG,IAAI,EAAE,UAAU,GAAG,IAAI,EAAE,cAAwB,EAAE,EAAE;IAC3I,IAAI,MAAM,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC;IACjC,IAAI,QAAQ,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAA;IACvC,IAAI,mBAAmB,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAA;IAE9C,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IAE7B,IAAI,eAAe,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAA;IAClD,mBAAmB,CAAC,GAAG,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA;IACnD,CAAC,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAExC;;;;MAIE;IAEF,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAElB,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;IACnC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAA;IAC7C,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACpC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;IAE5C,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE;QACxB,IAAI,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;QAChB,QAAQ,GAAG,EAAE;YACT,KAAK,WAAW,CAAC;YACjB,KAAK,QAAQ;gBACT,GAAG,GAAG,OAAO,CAAA;gBACb,MAAM;YACV,KAAK,OAAO;gBACR,GAAG,GAAG,QAAQ,CAAA;gBACd,MAAM;SACb;QAED,kBAAkB,CAAC,GAAG,CAAC,CAAA;IAC3B,CAAC,CAAC,CAAC;AACP,CAAC,CAAA;AAGA,IAAI,mBAAmB,GAAG,GAAG,EAAE;IAC5B,IAAI,QAAQ,GAAG,CAAC,CAAC,kBAAkB,CAAC,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,CAAA;IACf,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC,CAAA;AAEA,IAAI,iBAAiB,GAAG,GAAG,EAAE;IAC1B,IAAI,MAAM,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAA;IAChC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IAC7B,CAAC,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACnC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;AAC/B,CAAC,CAAA;AAEA,IAAI,kBAAkB,GAAG,CAAC,KAAa,EAAE,EAAE;IACxC,IAAI,QAAQ,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAA;IACvC,IAAI,MAAM,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAA;IAChC,IAAI,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACxC,IAAI,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;IAChD,IAAI,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;IAClD,IAAI,aAAa,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IACzF,IAAI,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAA;IAElD,IAAI,aAAa;QACb,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAEhC,IAAI,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/C,2DAA2D;IAC3D,IAAI,UAAU,EAAE;QACZ,QAAQ,KAAK,EAAE;YACX,KAAK,QAAQ;gBACT,iBAAiB,EAAE,CAAA;gBACnB,IAAI,WAAW,GAAW,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;gBACtF,cAAc,CAAC,WAAW,CAAC,CAAA;gBAC3B,MAAM;YACV,KAAK,OAAO;gBACR,gBAAgB,EAAE,CAAA;gBAClB,MAAM;YACV;gBACI,IAAI,OAAO,GAAG,YAAY,GAAG,KAAK,CAAA;gBAClC,IAAI,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;gBACxC,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,CAAA;gBAElD,IAAI,MAAM,IAAI,SAAS,EAAE;oBACrB,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;oBACzC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;iBAChC;SACR;KACJ;AACL,CAAC,CAAA;AAEA,IAAI,gBAAgB,GAAG,GAAG,EAAE;IACzB,CAAC,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACjC,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;AACxC,CAAC,CAAA;AAED,IAAI,kBAAkB,GAAG,GAAG,EAAE;IAC3B,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAC,EAAE;QAChD,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC5D,CAAC,CAAC,CAAA;IAEF,CAAC,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QAClC,mBAAmB,EAAE,CAAC;QACtB,iBAAiB,EAAE,CAAA;IACvB,CAAC,CAAC,CAAC;AACP,CAAC,CAAA;AAEA,IAAI,oBAAoB,GAAG,CAAC,eAAgC,EAAE,EAAE;IAC7D,WAAW,CAAC,QAAQ,GAAG;QACnB,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,KAAK;QACZ,OAAO,EAAE,eAAe;QACxB,aAAa,EAAE,SAAS;KAC3B,CAAA;IAED,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,wBAAwB,EAAE,CAAC,CAAC,EAAE;QAClD,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACpD,CAAC,CAAC,CAAA;IAEF,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE;QACzC,CAAC,CAAC,uBAAuB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAC/C,CAAC,CAAC,CAAA;IACF,iBAAiB,CAAC,SAAS,CAAC,CAAA;AAChC,CAAC,CAAA;AAEA,IAAI,mBAAmB,GAAG,CAAC,OAAe,EAAE,SAAS,GAAG,EAAE,EAAE,UAAU,GAAG,KAAK,EAAE,iBAA2B,GAAG,EAAE,GAAE,mBAAmB,EAAE,CAAA,CAAA,CAAC,EAAE,EAAE;IACzI,IAAI,QAAQ,GAAG,CAAC,CAAC,kBAAkB,CAAC,CAAA;IACpC,IAAI,QAAQ,GAAG,CAAC,CAAC,uBAAuB,CAAC,CAAA;IAEzC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IAC/B,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC1C,CAAC,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAEjC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;IAC1B,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAChB,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;IACrC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;IACrC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAA;IAC/C,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACxC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IACzB,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IACzB,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC1B,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE;QACxB,IAAI,GAAG,GAAG,CAAC,CAAC,GAAG,CAAA;QACf,IAAI,GAAG,IAAI,OAAO,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;YACxD,GAAG,GAAG,QAAQ,CAAA;YACd,oBAAoB,CAAC,GAAG,CAAC,CAAA;SAC5B;IACL,CAAC,CAAC,CAAA;AACN,CAAC,CAAA;AAEA,IAAI,oBAAoB,GAAG,CAAC,KAAa,EAAE,EAAE;IAC1C,IAAI,QAAQ,GAAG,CAAC,CAAC,uBAAuB,CAAC,CAAA;IACzC,IAAI,QAAQ,GAAG,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAErC,IAAI,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3C,IAAI,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3C,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,CAAA;IAElD,QAAQ,KAAK,CAAC,WAAW,EAAE,EAAE;QACzB,KAAK,WAAW,CAAC;QACjB,KAAK,QAAQ;YACT,IAAI,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC3C,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACrB,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAChC,MAAM;QACV,KAAK,QAAQ;YACT,mBAAmB,EAAE,CAAC;YACtB,IAAI,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;YACpD,cAAc,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;YAC/B,MAAM;QACV,KAAK,OAAO;YACR,IAAI,WAAW,CAAC,QAAQ,CAAC,QAAQ;gBAAE,MAAM;YACzC,WAAW,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAA;YACxD,WAAW,CAAC,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAA;YACrC,iBAAiB,CAAC,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;YACvE,MAAM;QACV,KAAK,UAAU;YACX,WAAW,CAAC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAA;YAClC,WAAW,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAA;YAC9D,IAAI,cAAc,GAAG,CAAC,CAAC,yBAAyB,CAAC,CAAA;YACjD,cAAc,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;YACpC,iBAAiB,CAAC,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;YAC1E,MAAM;QACV,KAAK,OAAO;YACR,KAAK,GAAG,GAAG,CAAC;YACZ,MAAM;KACb;IAED,sCAAsC;IACtC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;QACnB,IAAI,WAAW,CAAC,QAAQ,CAAC,KAAK,IAAI,WAAW,CAAC,QAAQ,CAAC,QAAQ,EAAE;YAC7D,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAA;YAE3B,4BAA4B;YAC5B,IAAI,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE;gBAC5B,WAAW,CAAC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAA;gBAClC,iBAAiB,CAAC,SAAS,CAAC,CAAC;aAChC;SACJ;QAED,IAAI,OAAO,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;QACrC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAChC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;KACxB;AAEL,CAAC,CAAA;AAEA,IAAI,iBAAiB,GAAG,CAAC,MAAc,EAAE,QAAQ,GAAG,EAAE,EAAE,EAAE;IAEvD,IAAI,QAAQ,IAAI,EAAE;QAAE,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA;IAC7C,WAAW,CAAC,QAAQ,CAAC,aAAa,GAAG,MAAM,CAAA;IAC3C,IAAI,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAEvD,CAAC,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACzC;;;UAGE;QACF,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QAElB,aAAa;QACb,IAAI,UAAU,GAAc,YAAY,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC,CAAA;QAElE,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;YAC3C,IAAI,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;YACpB,IAAI,QAAQ,GAAW,UAAU,CAAC,QAAQ,CAAC,CAAC;YAE5C;;;;cAIE;YACF,IAAI,OAAO,GAAG,QAAQ,CAAC;YACvB,IAAI,OAAO,GAAG,QAAQ,CAAC;YAEvB,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC1B,GAAG,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;YAEtC,IAAI,OAAO,GAAG,IAAI,MAAM,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAEtC,IAAI,OAAO,EAAE;gBACT,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBACxC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;aACxB;YAED,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAEjB,0DAA0D;YAC1D,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;YAC/B,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAE9B,CAAC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;AACN,CAAC,CAAA;AAEL,CAAC,CAAC,GAAG,EAAE;IACJ,kBAAkB,EAAE,CAAA;IACpB,IAAI,CAAC,iCAAiC,EAAE,IAAI,EAAE,KAAK,EAAC,oBAAoB,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AACxF,CAAC,CAAC,CAAA"} \ No newline at end of file diff --git a/wwwroot/scripts/js/test.js b/wwwroot/scripts/js/test.js deleted file mode 100644 index 6f3fefb..0000000 --- a/wwwroot/scripts/js/test.js +++ /dev/null @@ -1 +0,0 @@ -//# sourceMappingURL=test.js.map \ No newline at end of file diff --git a/wwwroot/scripts/js/test.js.map b/wwwroot/scripts/js/test.js.map deleted file mode 100644 index 79b94d2..0000000 --- a/wwwroot/scripts/js/test.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["../ts/test.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/wwwroot/scripts/js/types.js b/wwwroot/scripts/js/types.js deleted file mode 100644 index 5b2306a..0000000 --- a/wwwroot/scripts/js/types.js +++ /dev/null @@ -1 +0,0 @@ -//# sourceMappingURL=types.js.map \ No newline at end of file diff --git a/wwwroot/scripts/js/types.js.map b/wwwroot/scripts/js/types.js.map deleted file mode 100644 index e30582c..0000000 --- a/wwwroot/scripts/js/types.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"types.js","sourceRoot":"","sources":["../ts/types.ts"],"names":[],"mappings":""} \ No newline at end of file