Загрузка файлов с drop областью и гибкой разметкой (компонент as-files)

Для этих целей используется отдельный сниппет с выводом отличающимся от компонента менеджер ресурсов. 

Возможности компонента: 

<div class="as-files" data-code="productImages" data-itemid="5" data-disabledeleteconfirm="1" data-successmsg=" "></div>

Data параметры компонента: 

Кастом разметка компонента as files

Также вы можете задать свою кастомную верстку для компонента, а также верстку для вывода отдельного элемента в специальных div 
<div class="as-files">
	<script type="text/html" class="as-files-makeup hide"></script>
	<script type="text/html" class="as-files-itemMakeup hide"></script>
</div>

В рамках этих элементов можно вставить дополнительные переменные. 

Для makeup это: 

Для itemMakeup есть следующие параметры: 

Пример как работает кастом разметка для as-files - https://demo.web-automation.ru/list/watch/kastom-razmetka-v-zagruzchike-faylov-s-drag-n-drop---82

Когда требуется указать шаблоны разметки внутри кастом-формы

В случае использовании кастом разметки внутри формы не получится использовать script элементы (нельзя использовать теги script в кастом разметки форм).

В этом случае используем div вместо скрипт в таком виде (но помните, что желательно избежать испольования сниппетов в шаблонах (as-form, as-table и т.д.), т.к. они будут сразу рендериться при загрузке): 

<div class="as-files">
	<div class="as-files-makeup hide"></div>
	<div class="as-files-itemMakeup hide"></div>
</div>

Коллбеки для as-files

Для компонента as-files работает 3 коллбека JS: 

as.filescallbacks["code1_getItems"] = function(data, params){}
as.filescallbacks["code1_uploadComplete"] = function(data, evt){}
as.filescallbacks["code1_delete"] = function(data, params){}

Отображение размера файлов в as files

Примечание: для отображения размера файлов необходимо следующее: 

1. Добавить столбец size в as_rs_resources: 

IF COL_LENGTH( 'as_rs_resources' , 'size' ) IS NULL
BEGIN
      ALTER TABLE as_rs_resources
      ADD size int NULL
END

2. Обновить процедуру as_resources_addResource: 

ALTER PROCEDURE [dbo].[as_resources_addResource] 
@itemID nvarchar(128),
@typeCode nvarchar(128),
@url nvarchar(512),
@thumbUrl nvarchar(512),
@title nvarchar(128),
@size int,
@username nvarchar(128)
AS
BEGIN

insert into as_rs_resources (url, thumbUrl, itemID, title, entityCode, ord, size) 
values(@url, @thumbUrl, @itemID, @title, 
	(select top 1 entityCode from as_rs_types where lower(code) = lower(@typeCode)),
	(select max(id)+1 from as_rs_resources),
	@size
)

select  Scope_identity() id

END

 

Страница-источник на сайте falconspace.ru