{"id":20084591,"url":"https://github.com/dhtmlx/salesforce-scheduler-demo","last_synced_at":"2025-09-20T19:31:11.097Z","repository":{"id":141418821,"uuid":"508354941","full_name":"DHTMLX/salesforce-scheduler-demo","owner":"DHTMLX","description":"Using dhtmlxScheduler in SalesForce LWC","archived":false,"fork":false,"pushed_at":"2023-07-20T09:23:33.000Z","size":213,"stargazers_count":2,"open_issues_count":0,"forks_count":2,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-11-13T15:57:08.041Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DHTMLX.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-06-28T15:26:38.000Z","updated_at":"2023-08-03T11:05:04.000Z","dependencies_parsed_at":null,"dependency_job_id":"1bf71f02-0ad8-40a6-98c2-81e1dcd1b4c7","html_url":"https://github.com/DHTMLX/salesforce-scheduler-demo","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DHTMLX%2Fsalesforce-scheduler-demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DHTMLX%2Fsalesforce-scheduler-demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DHTMLX%2Fsalesforce-scheduler-demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DHTMLX%2Fsalesforce-scheduler-demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DHTMLX","download_url":"https://codeload.github.com/DHTMLX/salesforce-scheduler-demo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":233682527,"owners_count":18713555,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-13T15:52:35.802Z","updated_at":"2025-09-20T19:31:05.753Z","avatar_url":"https://github.com/DHTMLX.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DHTMLX Scheduler demo for SalesForce LWC\n\n[![dhtmlx.com](https://img.shields.io/badge/made%20by-DHTMLX-blue)](https://dhtmlx.com/)\n[![License: GPL v2](https://img.shields.io/badge/license-GPL%20v2-blue.svg)](https://www.gnu.org/licenses/old-licenses/gpl-2.0.html)\n\nHere you can find a code example of the event calendar for Lightning Web Components on Salesforce Platform.\n\nThe sample is implemented with the help of JavaScript Scheduler library - [DHTMLX Scheduler](https://dhtmlx.com/docs/products/dhtmlxScheduler/).\n\n## Prerequisites\n\n- Enable the [Developer Hub](https://developer.salesforce.com/docs/atlas.en-us.sfdx_setup.meta/sfdx_setup/sfdx_setup_enable_devhub.htm) in your organization\n- Install the [Salesforce CLI](https://developer.salesforce.com/tools/sfdxcli)\n\n## How to start\n\n- [Change login url](https://developer.salesforce.com/docs/atlas.en-us.sfdx_dev.meta/sfdx_dev/sfdx_dev_auth_web_flow.htm) (sfdcLoginUrl) in sfdx-project.json to url of your SalesForce organization\n\n- Create [scratch org](https://developer.salesforce.com/docs/atlas.en-us.sfdx_dev.meta/sfdx_dev/sfdx_dev_scratch_orgs.htm#!)\n\n```sh\nsfdx org login web -d\nsfdx org create scratch -f config/project-scratch-def.json -d\n```\n\n- Publish code\n\n```sh\nsfdx project deploy start\n```\n\n- Open scratch org in browser\n\n```\nsfdx org open\n```\n\nThe scratch org already has Scheduler app which you can check, or go to \"Setup : Lighting Apps\", create a new Lighting App and drop the Scheduler from the list of available components.\n\n## How to configure / modify\n\n### Backend\n\ngetEvents in force-app/main/default/classes/SchedulerData.cls returns list of events, adjust this query as necessary.\n\n### Frontend\n\nforce-app/main/default/lwc/scheduler/scheduler.js contains code of web component\n\n```js\nfunction unwrap(fromSF){\n    const data = fromSF.events.map(a =\u003e ({\n```\n\n**unwrap** functions controls how data from SalesForce is converted to dhtmlxScheduler compatible objects. You will need to modify this code if you will want to provide some additional data properties from SalesForce to the dhtmlxScheduler\n\n```js\ninitializeUI(){\n        const root = this.template.querySelector('.thescheduler');\n        root.style.height = this.height + \"px\";\n\n        const scheduler = window.Scheduler.getSchedulerInstance();\n```\n\n**initializeUI** creates an instance of scheduler. This is the perfect place to configure the scheduler by using its [API](https://docs.dhtmlx.com/scheduler)\n\n\n```js\nscheduler.createDataProcessor(function (entity, action, data, id) {\n    switch (action) {\n        case \"create\":\n```\n\n**createDataProcessor** defines data saving rules, they need to be adjusted if you will want to save some extra fields along with the default Event's data.\n\n### Version of the Scheduler\n\nforce-app/main/default/staticresources/scheduler contains a trial version of the Scheduler ( it will show a warning message time to time ). For production usage you will need to replace js and css files in this archive with ones from enterprise/ultimate Scheduler package.\n\nThe earliest version of dhtmlxScheduler that is fully compatible with SalesForce LWC is [dhtmlxScheduler v6.0.1](https://docs.dhtmlx.com/scheduler/what_s_new.html#601).\n\n## Related resources\n\n- Documentation: [https://docs.dhtmlx.com/scheduler/](https://docs.dhtmlx.com/scheduler/)\n- dhtmlxScheduler product page: [https://dhtmlx.com/docs/products/dhtmlxScheduler/](https://dhtmlx.com/docs/products/dhtmlxScheduler/)\n- Video tutorial: [https://youtu.be/IceDT8O1Pys](https://youtu.be/IceDT8O1Pys?list=PLKS_XdyIGP4M1Jtg1qyjdJtCsqU1bqGsc)\n- About DHTMLX Scheduler in Salesforce: [https://dhtmlx.com/docs/products/demoApps/salesforce-scheduler/](https://dhtmlx.com/docs/products/demoApps/salesforce-scheduler/)\n\n\n## Support Us\n\nStar our GitHub repo :star:\n\nRead us on [Medium](https://medium.com/@dhtmlx) :newspaper:\n\nFollow us on [Twitter](https://twitter.com/dhtmlx) :bird:\n\nLike our page on [Facebook](https://www.facebook.com/dhtmlx/) :thumbsup:\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdhtmlx%2Fsalesforce-scheduler-demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdhtmlx%2Fsalesforce-scheduler-demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdhtmlx%2Fsalesforce-scheduler-demo/lists"}