This is my structure(based on ext-template repo):
	
slider-template.tpl:
	
my-dialog.js:
	How do i reference "src/files/client/custom/modules/lead-manipulation-package/res/templates/slider-template.tpl" to "src/files/client/custom/src/views/modals/my-dialog.js" ?
PS: what would be some key files needed so that text and button labels are translatable in different languages?
					Code:
	src ├── files │ ├── client │ │ └── custom │ │ ├── modules │ │ │ └── lead-manipulation-package │ │ │ └── res │ │ │ └── templates │ │ │ └── slider-template.tpl │ │ └── src │ │ ├── button-modal-handler.js │ │ └── views │ │ ├── DistributeSlider.js │ │ ├── lead │ │ │ └── myLead.js │ │ └── modals │ │ └── my-dialog.js │ └── custom │ └── Espo │ └── Modules │ └── LeadManipulationPackage │ ├── EntryPoints │ │ └── DistributeLeads.php │ └── Resources │ ├── i18n │ │ └── en_US │ │ └── Lead.json │ ├── metadata │ │ ├── aclDefs │ │ │ └── Lead.json │ │ ├── app │ │ │ └── client.json │ │ └── clientDefs │ │ └── Lead.json │ ├── module.json │ └── routes.json ├── manifest.json └── scripts ├── AfterInstall.php └── AfterUninstall.php
slider-template.tpl:
Code:
	<div class="distribute-slider">
   <h3>Select Users</h3>
   <div class="user-list">
      <!-- Content should be loaded here -->
   </div>
</div>
my-dialog.js:
Code:
	define('custom:views/modals/my-dialog', ['views/modal', 'model'], (ModalView, Model) => {
   return class extends ModalView {
      className = 'dialog dialog-record'
      // language=Handlebars
      templateContent = `
         <div class="record">
            {{{lead-manipulation-package:templates/slider-template}}}. // !!! I WANT TO REFERENCE IT HERE !!!
         </div>
      `;
      // If true, clicking on the backdrop will close the dialog.
      // Can be 'static', true or false.
      backdrop = true
      async setup() {
         // Action buttons
         this.buttonList = [
            {
               name: 'doSomething', // handler for 'doSomething' action is below
               text: this.translate('Distribute', 'labels', 'MyScope'), // button label
               style: 'primary',
               onClick: () => this.foo(),
            },
            {
               name: 'cancel',
               label: 'Cancel',
            },
         ];
         const title = 'Select Users'; // assuming it's passed from our parent view
         this.headerText = title;
         // Load the collection asynchronously before initializing the list view
         const collection = await this.loadCollection();
         this.createView('record', 'views/record/list', {
            collection: collection,
            type: 'listSmall',
            selectable: true,
            massActionsDisabled: true,
            editDisable: true,
            el: this.$el.find('.user-list'), // Match template's `.user-list`
         }).then((view) => {
            view.render();
            });
         }
         async loadCollection() {
         const collection = await this.getCollectionFactory().create('User');
         await collection.fetch();
      return collection;
      }
      async foo(){
         // TODO: implement button function
      }
   }
});
PS: what would be some key files needed so that text and button labels are translatable in different languages?

Comment