Я хочу использовать Kendo UI drag and drop в моем проекте, используя require js, но он не нашел функцию, я не знаю, что не так в моих кодах: (((пожалуйста, найдите мне решение Это мой конфигурационный файл :
requirejs.config({
baseUrl : 'js' ,
paths : {
bootstrapBundle : 'libraries/bootstrap.bundle.min' ,
bootstrap : 'libraries/bootstrap.min' ,
jquery : 'libraries/jquery-3.4.1.min' ,
customScroll : 'libraries/jquery.mCustomScrollbar.min' ,
kendo : 'libraries/kendo2019.all.min' ,
jsZip : 'libraries/jszip.min' ,
controlesList : 'custom/ControlesList' ,
dropInCol : 'custom/DropInColumn' ,
dropInDropzones : 'customScripts/DropInDropzones'
} ,
shim: {
kendo: {
deps: ['jquery'],
exports: 'kendo'
}
}
});
и это мои коды:
define([
'jquery' ,
'jsZip' ,
'kendo' ,
// 'kendoDrop'
], function($ , jsZip , kendo) {
window.JSZip = jsZip;
var dropFunc = function(args){
console.log('this : ' , args.this);
console.log('kendo : ' , kendo.widgets[3].widget); // this returns kendoDropTarget widget in kendo ui js
function dropzoneOnDragEnter(e){
// console.log('drag enter');
$(e.dropTarget).addClass('drt_dragEnter');
}
function dropzoneOnDragLeave(e){
// console.log('drag leave');
$(e.dropTarget).removeClass('drt_dragEnter');
}
function dropzoneOnDrop(e){
// console.log('target : ' , e.target);
$(e.dropTarget).removeClass('drt_dragEnter');
var _targetId;
var _place = $(e.dropTarget).attr('drt-place');
var _row = $('<div>').addClass('row drt_row');
var _col_12 = $('<div>').addClass('drt_col col-sm-12 col-md-12 col-lg-12');
// _row.append(_col_12);
if($(e.target).hasClass('drt_controlHint')){
_targetId = $(e.target).attr('id');
}
else if($(e.target).parents('.drt_controlHint').length == 1){
_targetId = $(e.target).parents('.drt_controlHint').attr('id');
}
if(_place != undefined){
if(_place == 'first'){
args.data.find(x => {
if (_targetId && x.id == _targetId){
if(_targetId != 'drtRow'){
_row.append(_col_12.append(x.template)).insertAfter($(e.dropTarget));
// _row.find('> .drt_col').DropInColumn({data : [{test : 'nasrin'}] , newCol : true});
// createDropzones(_col_12);
}
else{
// console.log($(x.template).find('> .drt_col'));
// $(x.template).find('> .drt_col').DropInColumn({data : settings.data});
$(x.template).insertAfter($(e.dropTarget));
// createDropzones($(x.template).find('> .drt_col'));
}
}
});
}
else if(_place == 'last'){
args.data.find(x => {
if (_targetId && x.id == _targetId){
if(_targetId != 'drtRow'){
_row.append(_col_12.append(x.template)).insertBefore($(e.dropTarget));
// createDropzones(_col_12);
}
else{
$(x.template).insertBefore($(e.dropTarget));
// createDropzones($(x.template).find('> .drt_col'));
}
}
});
}
}
}
return $(args.this).kendoDropTarget({
dragenter : function(e){
dropzoneOnDragEnter(e);
},
dragleave : function(e){
dropzoneOnDragLeave(e);
} ,
drop: function(e){
dropzoneOnDrop(e);
}
});
};
return dropFunc;
});
В приведенном выше сообщении я получаю сообщение "DropInDropzones. js: 13 Uncaught ReferenceError: kendoDropTarget is notfined" в моей консоли