sj-backend 3.0

A content management system currently only for websites that are build by the company Web-SJ

Update - Added templates - Added draggable order support in collection contenttype - Started on dashboard interface - Fixed file custom-input empty value bug - Fixed rich text editor - Image files will now show as preview in a popup in filemanager / fileselector - Formhandle can now handle groups, multiple inputs with same name - Added template page deletion - Added backend settings page - Added Google Analytics support - Added backup feature for future update feature

Update - Added custom checkbox input - Implemented page lock feature - Small updates to the example site - Added file selector input - Improved and fixed filemanager styling for use outside of files page - Improved styling for input fields - Refactored popups (now multiple popups will be able to layer on top of eachother) - Fixed bug inside custom selector 'page' - Added content type 'image' - You can now check for unrendered custom inputs in a specific container - Continued development on filemanager.js that now supports file selecting - Added hasAccess function to the frontendpage class. This function checks if the page should be shown to the client. - Added favicon editing

File selector update - Small updates to the frontend placeholder website - Fixed some z-index values in the filemanager stylesheet - Added styling for selected items that will be previewed when using the file selector - Added a seperate popup layer for the file selector so other popups can be used while in the selector - Fixed bug for the collection content type that would cause the value of inputs to disappear - Added support for file selector in the FileManager object and created fileSelector object that will handle the file selector by using the FileManager object - API endpoint 'filemanager' with the action 'verify-files' now also returns 'existingFiles' with complete data of the files. Before it would only return the id's

Frontend website & Content Editor update - Continued development on the frontend website we are using as example - Added custom styling for the quil rich editor - Added labels for the content element editors - Implemented collections content type - Added frontend.js - A file that will provide default sjbackend functions for the frontend website - Small changes to the backend code - Get website api script now also returns the website data

Content Elements & Content Editor - Splitted styling into more css files to be able to prevent style overlapping in the content editor - Created contenteditor.js , this file will cover all main functionalities for the content editor. - Added page rendering inside content editor - Created content editor menu with page selector - Added excludeAllOtherScripts and excludeAllOtherSheets support for page data files for backend pages - Added ContentType class which will be the base for all Content Element Types - Added some standard text content types (only backend side, frontend editing side is not coded yet) - Added FrontendPage->getDescription() function - Added global content elements - Added page scope content elements - Expanded the Utils::checkRequired function to support checkEmpty - Fixed get-pages api endpoint bug where an php error will be shown because of the if statement on the beginning of the file - Added get-website api endpoint which will return the HTML code of the website for a certain page - Added save-content-element api endpoint which will give you the ability to save content elements (not tested yet) - Enabled php errors for the project - Expanded the \index.php file to actually show some more meta data and title things and stuff

Finished first version of content editor - Added CMS implementation to frontend website - Updated contenteditor.css - Updated notification styling - Updated popup styling - Added error messages to error.json - Added black and primary color version of loading icon - Added content element combination editting - Updates getData function in formhandle object. Now supports multiple forms inside divider - Added loading animation for content editor - Changed old longText into richText - Created new longText with just plain textarea support - Updated formatFromDatabase function to be able to keep variables that don't exist in format - Added multiple elements at the time support for get-content-element and save-content-element api scripts

Commit before redoing content editor edit method - Added new web sj website into CMS - Continued development on content editor - Defined frontend content type handlers - Updated getData function in formHandle object - Small updates to popup object

Content Elements & Content Editor - Splitted styling into more css files to be able to prevent style overlapping in the content editor - Created contenteditor.js , this file will cover all main functionalities for the content editor. - Added page rendering inside content editor - Created content editor menu with page selector - Added excludeAllOtherScripts and excludeAllOtherSheets support for page data files for backend pages - Added ContentType class which will be the base for all Content Element Types - Added some standard text content types (only backend side, frontend editing side is not coded yet) - Added FrontendPage->getDescription() function - Added global content elements - Added page scope content elements - Expanded the Utils::checkRequired function to support checkEmpty - Fixed get-pages api endpoint bug where an php error will be shown because of the if statement on the beginning of the file - Added get-website api endpoint which will return the HTML code of the website for a certain page - Added save-content-element api endpoint which will give you the ability to save content elements (not tested yet) - Enabled php errors for the project - Expanded the \index.php file to actually show some more meta data and title things and stuff

Settings page update - Prevented any form actions when form is loading - Added some error messages - Added custom inputs - Added custom input "page" - Added formhandle.getData function to gather all input data from any form (now including custom inputs) - Added form handler edit-page-markers - Added form handler edit-website-settings - Added dropdown buttons in backend menu - Added popup shortcut functions (for now only bug function) - Added tools.getStackTrace function for debug purposes (popup.shortcut.bug uses this function) - Added website settings to database and \site\Site class - Added edit-page-markers API endpoint - Added get-pages API endpoint - Added logout API endpoint - Added update-site-settings API endpoint - Added Web SJ logo favicon

Custom popup - Implemented first version of custom popups - Added confirm popup feedback type - Added notice popup feedback type - Changed notification.confirm usage to popup.show - Removed notification.confirm function - Removed Item->moveTo() function

Filemanager development - Finished selection status bar - Added some error messages - Implemented move and copy for filemanager - Added image preview support - Improved event listener handling for filemanager - Implemented file uploading BUG: Navigating in filemanager with up and down arrow keys is not working right. The itemsPerRow calculation is not working as it should

Continued development on Filemanager - Updated some filemanager styling - Added options dropdown in filemanager - Added 'drop file here' popup - Started working on uploading system (front-end & backend) - Implemented key events inside filemanager - Implemented create new directory And some other minor changes in the code

FileManager update - Started development on FileManger - Added filemanager.css - Added filemanager.js - Linked filemanager.css to 'files' page - Linked filemanager.js to 'files' page - Added icons for the filemanager - Started working on JavaScript object FileManager that handles everything for a File browser or File selector - Created notification.confirm function which currenrly uses the confirm() function inside vanilla javascript but transforms it into a promise to we can create our own custom prompting system later on - Created javascript tools object (not sure if this is all working, because i don't think i'm using it anywhere yet) - Finished FileManager.php file with FileManager class, Directory class and Document class - Created filemanager api script - Created a test script for testing - Added an adobe experience design file which contains a design idea for the filemanager

Development on filemanager - Fixed NULL handling inside PHP code from database (inside Database class and Utils class) - Created FileManager class - Created Document class - Created Directory class

Bug fix & Improvement - Fixed initial_name and new name comparison problem - Added errorMessages & file inside /sj-backend/data/error.json