Built files from Bizgaze WebServer
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

widget.js 471KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773
  1. var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
  2. function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
  3. return new (P || (P = Promise))(function (resolve, reject) {
  4. function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
  5. function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
  6. function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
  7. step((generator = generator.apply(thisArg, _arguments || [])).next());
  8. });
  9. };
  10. var Unibase;
  11. (function (Unibase) {
  12. let Platform;
  13. (function (Platform) {
  14. let Widgets;
  15. (function (Widgets) {
  16. let Components;
  17. (function (Components) {
  18. class Widget extends Platform.Core.BaseComponent {
  19. constructor() {
  20. super(...arguments);
  21. this.DataListTypeId = 0;
  22. this.DataListId = 0;
  23. this.formproperties = [];
  24. this.saveReportColumn = 1;
  25. this.isclickEvent = false;
  26. this.defautSettings = [{ "widgetdesignid": 20210628, "mode": "Create_Mode", "loadDesigns": 0, "defaultMode": "create" }];
  27. this.DropOrderIndex = 1;
  28. this.structDesignIdArrayDelete = [];
  29. this.structureDesignArray = [];
  30. this.items = '.structureDiv, .widgetdataHere, .dashboardwidget-item.dashboarddisplaynone, .portletwidget-item.dashboarddisplaynone';
  31. this.themePaletteId = Unibase.Themes.Compact.Components.Index.Instance().currentTheme.paletteId;
  32. this.themePalette = Unibase.Themes.Compact.Components.Index.Instance().themePalette;
  33. this.Singledoc_array = [];
  34. }
  35. jsFiles() {
  36. return ["platform/bundle/widget.builder.sub.js",
  37. "libs/dragula/dist/dragula.min.js",
  38. "libs/dragula/dist/init.js",
  39. "libs/spectrum-2.0.8/dist/spectrum.js"];
  40. }
  41. cssFiles() {
  42. var cssfiles = ['libs/tabulator-tables/css/bootstrap/tabulator_bootstrap4.min.css',
  43. 'libs/vectormap/jquery-jvectormap-2.0.3.css',
  44. 'libs/dragula/dist/dragula.min.css',
  45. 'libs/jquery-toggles/css/themes/toggles-light.css',
  46. 'libs/dragula/dist/style.css',
  47. 'platform/analytics/components/reportbuilder/style.reportbuilder.css',
  48. 'libs/spectrum-2.0.8/dist/spectrum.css',
  49. 'tenants/themes/compact/css/style.widget_builder.css'];
  50. return cssfiles;
  51. }
  52. html(id, containerid) {
  53. let Mode = Unibase.Platform.Widgets.Components.Widget.Instance().defautSettings.filter(function (o) { return o.widgetdesignid === 20210628; }), biz_wrapper = '', active = '', hidden = 'hidden', Preview_activeShow = '', Layout_activeShow = '';
  54. if (Mode[0].mode == 'Create_Mode') {
  55. biz_wrapper = '', active = 'd-none', Layout_activeShow = 'active show', Preview_activeShow = '';
  56. }
  57. if (Mode[0].mode == 'Edit_Mode') {
  58. biz_wrapper = 'biz-drawer-pushright', active = 'd-none', Layout_activeShow = '', Preview_activeShow = 'active show';
  59. }
  60. let html = `<div id="biz-wrapper" class="biz-wrapper drawer-small drawer-right biz-drawer-push ${biz_wrapper}" data-builder="widget_builder">
  61. <!-- Right Nav -->
  62. <div id="widgetBuilderRightNav"></div>
  63. <!-- /Right Nav -->
  64. <!-- Main Content -->
  65. <div class="biz-pg-wrapper py-0">
  66. <div class="biz-pg-body">
  67. <div class="biz-bldr-wrap bldr__aside__left">
  68. <header class="bldr-head Widget-builder font-weight-500">
  69. <div class="d-flex align-items-center" id="txt_WidgetNameParent">
  70. <input type="text" id="txt_WidgetName" class="form-control floating-label-control shadow-none required w-180p" data-isdynamic="false" placeholder="Widget Name *" data-validatename="Widget Name" data-placeholder="Enter Widget Name" data-label="Widget Name *" autocomplete="off"/>
  71. <input type="hidden" id="hf_WidgetId" value="0"><input type="hidden" id="hf_viewallstages" value="true"/>
  72. <span class="badge badge-soft-primary ml-10" id="header_Report_name">Report Name</span>
  73. </div>
  74. <div id="bizgaze_ValidationSummary" class="font-weight-400"></div>
  75. <div class="bldr-options-wrap" id="top-nav-menu">
  76. <a class="btn btn-primary btn-web btn-widgettbuilder-save" href="javascript:void(0)" onclick="Unibase.Platform.Widgets.Components.Widget.Instance().saveWidget(` + id + `);" id="btn-widget-save">Save Widget</a>
  77. <a class="btn btn-outline-warning btn-web btn-widgettbuilder-reset" href="javascript:void(0)" id="btn-widget-builder-reset" onclick="Unibase.Platform.Widgets.Components.Widget.Instance().resetWidget()">Reset</a>
  78. <a class="btn btn-outline-danger btn-web btn-widgettbuilder-close" href="javascript:void(0)" id="btn-widget-close">Discard</a>
  79. </div>
  80. <div class="hidden"><input type="hidden" id="portlewidgetid" class="d-none" value="0"></div>
  81. </header>
  82. <div class="bldr-aside-left">
  83. <ul class="nav nav-light nav-tabs columnCursor ">
  84. <li class="nav-item">
  85. <a class="nav-link active" data-toggle="tab" href="#tab_details">
  86. <span class="nav-link-text">Details</span>
  87. </a>
  88. </li>
  89. <li class="nav-item">
  90. <a class="nav-link columntab" data-toggle="tab" href="#tab_columns">
  91. <span class="nav-link-text">Columns</span>
  92. </a>
  93. </li>
  94. </ul>
  95. <div data-simplebar class="simple-scroll-bar">
  96. <div class="tab-content">
  97. <div class="tab-pane fade show active" id="tab_details">
  98. <form id="frmUnibase_widgetBuilderDetailsLeftNav" data-validate="parsley" data-isdynamic="false">
  99. <ul class="rightnav_body font-weight-500" id="DefaultLeftNav_body">
  100. <li class="d-flex flex-column pt-1 pb-20" id="li_WidgetName">
  101. <label for="txt_UniqueId" class="font-weight-600" id="lbl" >Unique Name<span class="text-danger"> *</span></label>
  102. <input type="text" id="txt_WidgetUniqueName" class="form-control floating-label-control required shadow-none" data-isdynamic="false" placeholder="Unique Name *" data-placeholder="Enter Unique Name" data-validatename="Unique Name" data-label="Unique Name *" autocomplete="off" />
  103. </li>
  104. <li class="d-flex flex-column pb-20" id="li_WidgetType">
  105. <label for="ddlWidgetType" id="lblWidgetType" class="font-weight-600">Widget Type <span class="text-danger"> *</span></label>
  106. <select id="ddlWidgetType" class="form-control floating-label-control required" data-isdynamic="false" placeholder="Widget Type *" data-placeholder="Select Widget Type" data-label="Widget Type *">
  107. <option value="">Select Widget Type</option>
  108. </select>
  109. </li>
  110. <li class="d-flex flex-column pb-20 hidden" id="div_WidgetFormat" style="border-bottom:0;">
  111. <label for="ddlWidgetFormat" id="lblWidgetFormat" class="font-weight-600">Widget Format<span class="text-danger"> *</span></label>
  112. <select id="ddlWidgetFormat" class="form-control floating-label-control required" data-isdynamic="false" placeholder="WidgetFormat" data-placeholder="Select WidgetFormat" data-label="WidgetFormat">
  113. </select>
  114. </li>
  115. <li class="hidden" id="appProviders">
  116. <div class="d-flex flex-column pb-20" id="div_WidgetAppProvider">
  117. <label for="ddlAppProviders" class="font-weight-600" id="lblAppProviders">Available to Apps<span class="text-danger span_ddlappprovider"> *</span></label>
  118. <input type="hidden" id="hfInstalledappAutocompleteId" />
  119. <select id="ddlAppProviders" class="form-control floating-label-control required select2-hidden-accessible" data-isdynamic="false" placeholder="AppProviders" data-placeholder="Select Apps" data-validatename="Available to Apps" data-label="Apps" onchange="Unibase.Platform.Widgets.Components.Widget.Instance().getParameterValues(` + id + `)" multiple="multiple">
  120. </select>
  121. </div>
  122. </li>
  123. <li class="ReportDiv">
  124. <div class="d-flex flex-column" id="div_Report">
  125. <label for="ddlReport" id="lblReport" class="font-weight-600">Report<span class="text-danger">*</span></label>
  126. <input type="hidden" id="hfReportAutoComplete" value="" />
  127. <select id="ddlReport" class="b-a form-control floating-label-control w-100" value="" data-validatename="Report" onchange="Unibase.Platform.Widgets.Components.Widget.Instance().getReportColumns(false)">
  128. </select>
  129. </div>
  130. </li>
  131. <li class="pb-10 hidden">
  132. <p class="font-weight-600" style="color:#007D88">Widget Details</p>
  133. </li>
  134. <li class="d-flex flex-column" id="li_WidgetLayout">
  135. <label for="ddlWidgetLayout" id="lblWidgetLayoutName" class="font-weight-600 hidden">Layout<span class="text-danger">*</span></label>
  136. <select class="form-control floating-label-control hidden required" id="ddlWidgetLayout" data-isdynamic="true" data-validatename="Widget Layout" placeholder="Widget Layout" data-placeholder="Select Widget Layout" data-label="Widget Layout" onchange="Unibase.Platform.Widgets.Components.Widget.Instance().bindWidgetDesigns(0)">
  137. <option value="">Select Widget Layout</option>
  138. </select>
  139. </li>
  140. <li class="pb-20 div_DesignName hidden" id="div_DesignName">
  141. <div class="d-flex flex-column" id="div_WidgetDesignName">
  142. <label for="ddlWidgetDesign" id="lblWidgetDesignName" class="font-weight-600">Design<span class="text-danger">*</span></label>
  143. <select id="ddlWidgetDesign" class="form-control floating-label-control required" data-isdynamic="true" placeholder="Widget Design" data-placeholder="Select Widget Design" data-validatename="Widget Design" data-label="Widget Design">
  144. <option value="" >Select Widget Design</option>
  145. </select>
  146. </div>
  147. </li>
  148. <li class="pb-20 d-flex flex-column" id="div_WidgetURL">
  149. <div class="hidden userDesignedURL"><label for="txt_WidgetUrlFile" id="lblOwnDesign" class="font-weight-600">Widget URL<span class="text-danger">*</span></label>
  150. <input type="text" class="form-control floating-label-control required" id="txt_WidgetUrlFile" placeholder="Widget URL*" data-validatename="widget Name" data-placeholder="Enter Widget URL" data-label="Widget URL"></div>
  151. </li>
  152. <li class="pb-20 hidden">
  153. <div class="d-flex flex-column" id="div_LinkReportId" style="border-bottom:0;">
  154. <div class="d-flex flex-column" >
  155. <label for="ddlLinkReportId" id="lblLinkUrlReportIdr" class="font-weight-600">Link Report</label>
  156. <select id="ddlLinkReportId" class="w-100p form-control floating-label-control" style="width:100%" data-isdynamic="true" placeholder="LinkReport" data-placeholder="Select LinkReport" data-label="LinkReport"><option value="0">Select Report</option></select>
  157. <input type="hidden" id="hfddlLinkReportId" value="" />
  158. <div>
  159. <div class="d-flex flex-column pt-20" id="div_LinkReportLabelName">
  160. <label for="txt_UniqueId" class="font-weight-600" id="lbl">Link Report Label Name
  161. <span class="text-danger"> *</span>
  162. </label>
  163. <input type="text" id="txt_LinkReportLabelName" class="form-control floating-label-control shadow-none" data-isdynamic="false" placeholder="Link Report Label Name *" data-placeholder="Link Report Label Name" data-validatename="Link Report Label Name" data-label="Link Report Label Name" autocomplete="off">
  164. </div>
  165. </div>
  166. </li>
  167. <li class="pb-20 hidden" id="li_WidgetDetaillinkURL">
  168. <div class="d-flex flex-column" id="div_WidgetDetaillinkURL">
  169. <label for="txt_DetaillinkURL" id="lblDetaillinkURL" class="font-weight-600">Link URL</label>
  170. <input type="text" class="form-control floating-label-control shadow-none" id="txt_DetaillinkURL" placeholder="Link URL" data-placeholder="Enter Link URL" data-label="Link URL" />
  171. </div>
  172. </li>
  173. <li class="pb-20 hidden" id="li_WidgetDetailIcon">
  174. <div class="d-flex flex-column" id="div_WidgetDetailIcon" style="border-bottom:0;">
  175. <label for="ddlDetailIcon" id="lblDetailIcon" class="font-weight-600">Button</label>
  176. <select id="ddlDetailIcon" class="form-control floating-label-control" data-isdynamic="true" placeholder="Icon" data-placeholder="Select Icon" data-label="Icon">
  177. <option value="">Select Icon</option>
  178. <option value="1">plus</option>
  179. <option value="2">pencil</option>
  180. <option value="3">refresh</option>
  181. </select>
  182. </div>
  183. </li>
  184. <li class="pb-20 hidden" id="li_WidgetDetailHeader">
  185. <div class="d-flex align-items-center justify-content-between" id="div_WidgetDetailHeader" style="border-bottom:0;">
  186. <label class="font-16 font-weight-600">Show Header</label>
  187. <label class="switch m-0">
  188. <input type="checkbox" id="DetailHeader_collapase">
  189. <span></span>
  190. </label>
  191. </div>
  192. </li>
  193. </ul>
  194. </form>
  195. </div>
  196. <div class="tab-pane fade" id="tab_columns">
  197. <div class="text-dark collapaseDiv hidden">
  198. <div class="d-flex flex-row">
  199. <span class="font-16 font-weight-500">Default Expand</span>
  200. <label class="switch m-0 px-20">
  201. <input type="checkbox" id="report_collapase">
  202. <span></span>
  203. </label>
  204. </div>
  205. </div>
  206. <div class="DetailsColumns">
  207. <ul class="d-flex flex-column font-weight-500 font-14">
  208. <li class="d-flex flex-column biz-adj-drawer-wrap">
  209. <button data-target="adj_drawer_column" class="btn btn-secondary btn-wth-icon icon-left adj-drawer-open mb-15" id="addColumn-detailWidget"><span><span class="line-icon mr-2"><i class="las la-plus"></i></span>Add Columns</span></button>
  210. <ul class="list-group gutter list-group list-group-sp sortable" id="ulcolumns">
  211. </ul>
  212. <div id="adj_drawer_column" class="biz-adj-drawer border">
  213. <div class="drawer-body biz-custom-scrollbar pb-0 px-3">
  214. <ul class="bg-white">
  215. <form class="formColumnWidgetBuilder">
  216. <li class="mb-3 d-flex flex-column">
  217. <div class="floating-label-form-group-with-value" id="div_WidgetColumnConv">
  218. <label for="ddlColumnConv" id="lblColumnConv"> Converter <span class="text-danger">*</span></label>
  219. <select id="ddlColumnConv" class="form-control floating-label-control py-0 pl-2 pr-4 border-0 bg-light custom-select" data- isdynamic="true" placeholder="Converter" data-placeholder="Select Converter" data-label="Converter">
  220. <option value="">Select Converter</option>
  221. <option value="0">None</option>
  222. <option value="1">Round Number</option>
  223. <option value="2">Local Date</option>
  224. <option value="3">Local Time</option>
  225. </select>
  226. </div>
  227. </li>
  228. <li class="d-flex flex-column div_WidgetColumnConvType hidden">
  229. <div class="floating-label-form-group-with-value hidden" id="div_WidgetColumnConvType">
  230. <label for="ddlColumnConvType" id="lblColumnConvType" class="font-bold">Select Format</label>
  231. <select id="ddlColumnConvType" class="form-control floating-label-control" data-isdynamic="true" placeholder="select" data- placeholder="Select " data-label="">
  232. </select>
  233. </div>
  234. </li>
  235. <li class="d-flex flex-column mb-3">
  236. <div class="floating-label-form-group-with-value" id="div_WidgetColumn" style="border-bottom:0;">
  237. <label for="ddlColumns" id="lblColumns" class="font-bold scroll-x scroll-y"> Columns <span class="text-danger">*</span></label>
  238. <select class="form-control floating-label-control py-0 pl-2 pr-4 border-0 bg-light custom-select selectreportcolumn" id="ddlColumns" data-isdynamic="true" placeholder="Columns" data-placeholder="Select Columns" data-label="Columns">
  239. <option value="">Select Columns</option>
  240. </select>
  241. </div>
  242. </li>
  243. <li class="border-bottom mb-3">
  244. <div class="floating-label-form-group" id="div_WidgetLabel">
  245. <label for="txt_Label" id="lblLabel"> Label <span class="text-danger">*</span></label>
  246. <input type="text" name="" class="form-control border-0 bg-light floating-label-control" id="txt_Label" placeholder="Label *" data-placeholder="Enter Label" data-label="Label *">
  247. </div>
  248. </li>
  249. <li class="border-bottom mb-3">
  250. <div class="floating-label-form-group" id="div_WidgetHyperlink">
  251. <label for="txt_LinkURL" id="lblLinkURL"> Hyper link <span class="text-danger">*</span></label>
  252. <input type="text" name="" class="form-control floating-label-control border-0 bg-light " placeholder="Hyperlink" data-placeholder="Enter Hyperlink" id="txt_LinkURL" data-label="Hyperlink" >
  253. </div>
  254. <input type="hidden" id="propertyindex" value="0"/>
  255. <input type="hidden" id="detailpropertyid" value="0"/>
  256. <input type="hidden" id="li_columnId" value="0"/>
  257. </li>
  258. </form>
  259. </ul>
  260. </div>
  261. <footer class="d-flex justify-content-between py-2 px-3">
  262. <a href="javascript:void(0);" class="btn btn-light py-0 btn-adj-drawer-close" onclick="Unibase.Platform.Widgets.Components.Widget.Instance().bindReportClose()">Close</a>
  263. <a href="javascript:void(0);" class="btn btn-theme py-0 btn-adj-drawer-close" id="btn_Add"
  264. onclick="Unibase.Platform.Widgets.Components.Widget.Instance().bindReportColumn()">Save</a>
  265. </footer>
  266. </div>
  267. </div>
  268. <div class="dsl-block-wrap dd-list droppable-area1 connected-sortable" id="selectedColumns">
  269. </div>
  270. </li>
  271. <li style="list-style-type:none;">
  272. <ul class="d-flex flex-column font-14">
  273. <li class="hidden" id="div_Value1">
  274. <div class="floating-label-form-group-with-value" id="div_selectedcolumn1" style="border-bottom:0;">
  275. <div class="border-bottom">
  276. <input type="text" class="form-control bg-light floating-label-control font-weight-500 border-0" id="ddlSelectedLabelValue_1" placeholder="Enter Label 1" value="Label 1" style="box-shadow:none;">
  277. </div>
  278. <div class="d-flex justify-content-between pt-2 align-item-center w-100">
  279. <span>
  280. <label for="ddlSelectedValue_1" class="font-weight-500" id="lblSelectedValue_1">Select Value 1</label>
  281. </span>
  282. <span>
  283. <input class="form-check-input value_1_hidden mr-0" type="checkbox" value="" id="value_1_hidden" title="Hidden" style="width: 15px; height:15px;">
  284. </span>
  285. </div>
  286. <div>
  287. <input type="hidden" id="hfddlSelectedValue_1" value="" />
  288. <select id="ddlSelectedValue_1" class="form-control floating-label-control font-weight-500" data-isdynamic="true" placeholder="Select Column" data-placeholder="Select Column" data-label="Select Column">
  289. <option value="">Select Columns</option>
  290. </select>
  291. </div>
  292. <ul class="d-flex flex-row w-100 font-weight-500 pt-2 font-14">
  293. <li class="d-flex flex-column w-50">
  294. <span class="pb-2">Data Type</span>
  295. <select id="kpidataType_1" class="form-control floating-label-control font-14 border-0 bg-light" placeholder="Data Type *" data-validatename="Data Type" data-placeholder="Enter Data Type" data-label="Data Type *"> <option selected value="">Select</option> <option value="int">INT</option> <option value="float">FLOAT</option> <option value="char">CHAR</option> <option value="varchar">VARCHAR</option> <option value="bool">BOOLEAN</option><option value="INR">CURRENCY</option><option value="percent">PERCENT</option></select>
  296. </li>
  297. <li class="d-flex flex-column w-50 pl-3">
  298. <span class="pb-2 ml-auto">IsRoundOff</span><label class="switch ml-auto m-0 my-auto" style="opacity:1"> <input type="checkbox" id="kpi_isroundoff_1"> <span style="margin-top:6px;"></span></label>
  299. </li>
  300. </ul>
  301. </div>
  302. </li>
  303. <li class="hidden" id="div_Value2">
  304. <div class="floating-label-form-group-with-value py-3" id="div_selectedcolumn2" style="border-bottom:0;">
  305. <div class="border-bottom ">
  306. <input type="text" class="form-control bg-light floating-label-control font-weight-500 border-0" id="ddlSelectedLabelValue_2" placeholder="Enter Label 2" value="Label 2" style="box-shadow:none;">
  307. </div>
  308. <div class="d-flex justify-content-between pt-2 w-100">
  309. <span>
  310. <label for="ddlSelectedValue_2" class="font-weight-500" id="lblSelectedValue_2">Select Value 2</label>
  311. </span>
  312. <span>
  313. <input class="form-check-input value_2_hidden mr-0" type="checkbox" value="" id="value_2_hidden" title="Hidden" style="width: 15px; height:15px;">
  314. </span>
  315. </div>
  316. <div>
  317. <input type="hidden" id="hfddlSelectedValue_2" value="" />
  318. <select id="ddlSelectedValue_2" class="form-control floating-label-control font-weight-500" data-isdynamic="true" placeholder="Select Column" data-placeholder="Select Column" data-label="Select Column">
  319. <option value="">Select Columns</option>
  320. </select>
  321. </div>
  322. <ul class="d-flex flex-row w-100 font-weight-500 pt-2 font-14">
  323. <li class="d-flex flex-column w-50">
  324. <span class="pb-2">Data Type</span>
  325. <select id="kpidataType_2" class="form-control floating-label-control font-14 border-0 bg-light" placeholder="Data Type *" data-validatename="Data Type" data-placeholder="Enter Data Type" data-label="Data Type *"> <option selected value="">Select</option> <option value="int">INT</option> <option value="float">FLOAT</option> <option value="char">CHAR</option> <option value="varchar">VARCHAR</option> <option value="bool">BOOLEAN</option><option value="INR">CURRENCY</option><option value="percent">PERCENT</option></select>
  326. </li>
  327. <li class="d-flex flex-column w-50 pl-3">
  328. <span class="pb-2 ml-auto">IsRoundOff</span><label class="switch ml-auto m-0 my-auto" style="opacity:1"> <input type="checkbox" id="kpi_isroundoff_2"> <span style="margin-top:6px;"></span></label>
  329. </li>
  330. </ul>
  331. </div>
  332. </li>
  333. <li class="hidden" id="div_Value3">
  334. <div class="floating-label-form-group-with-value" id="div_selectedcolumn3" style="border-bottom:0;">
  335. <div class="border-bottom pb-1">
  336. <input type="text" class="form-control bg-light floating-label-control font-weight-500 border-0" id="ddlSelectedLabelValue_3" placeholder="Enter Label 3" value="Label 3" style="box-shadow:none;">
  337. </div>
  338. <div class="d-flex justify-content-between align-item-center pt-2 w-100">
  339. <span>
  340. <label for="ddlSelectedValue_3" class="font-weight-500" id="lblSelectedValue_3">Select Value_3</label>
  341. </span>
  342. <span>
  343. <input class="form-check-input value_3_hidden mr-0" type="checkbox" value="" id="value_3_hidden" title="Hidden" style="width: 15px; height:15px;">
  344. </span>
  345. </div>
  346. <div>
  347. <input type="hidden" id="hfddlSelectedValue_3" value="" />
  348. <select id="ddlSelectedValue_3" class="form-control font-weight-500 font-14" data-isdynamic="true" placeholder="Select Column" data-placeholder="Select Column" data-label="Selected Column">
  349. <option value="">Select Columns</option>
  350. </select>
  351. </div>
  352. <ul class="d-flex flex-row w-100 font-weight-500 pt-2 font-14">
  353. <li class="d-flex flex-column w-50">
  354. <span class="pb-2">Data Type</span>
  355. <select id="kpidataType_3" class="form-control floating-label-control font-14 border-0 bg-light" placeholder="Data Type *" data-validatename="Data Type" data-placeholder="Enter Data Type" data-label="Data Type *"> <option selected value="">Select</option> <option value="int">INT</option> <option value="float">FLOAT</option> <option value="char">CHAR</option> <option value="varchar">VARCHAR</option> <option value="bool">BOOLEAN</option><option value="INR">CURRENCY</option><option value="percent">PERCENT</option></select>
  356. </li>
  357. <li class="d-flex flex-column w-50 pl-3">
  358. <span class="pb-2 ml-auto">IsRoundOff</span><label class="switch ml-auto m-0 my-auto" style="opacity:1"> <input type="checkbox" id="kpi_isroundoff_3"> <span style="margin-top:6px;"></span></label>
  359. </li>
  360. </ul>
  361. </div>
  362. </li>
  363. </ul>
  364. </li>
  365. </ul>
  366. </div>
  367. </div>
  368. </div>
  369. </div>
  370. <div class="bldr-body bg-light">
  371. <header class="bldr-sec-head h-65p">
  372. <div class="left-aside-togglable"></div>
  373. <ul class="mx-auto mt-auto nav nav-line nav-tabs nav-light font-weight-500" id="bldrHeaderNavTabs">
  374. <li class="nav-item">
  375. <a class="nav-link ${Layout_activeShow}" id="layout-tab" data-toggle="tab" href="#tab_layout">
  376. <span class="nav-link-text">Layout</span>
  377. </a>
  378. </li>
  379. <li class="nav-item">
  380. <a class="nav-link hidden" id="kpi-design-tab" data-toggle="tab" href="#tab_design">
  381. <span class="nav-link-text">Design</span>
  382. </a>
  383. </li>
  384. <li class="nav-item">
  385. <a class="nav-link hidden" id="Preview-Designs" data-toggle="tab" href="#tab_preview">
  386. <span class="nav-link-text">Preview</span>
  387. </a>
  388. </li>
  389. <li class="nav-item static-js">
  390. <a class="nav-link static_js_hidden" data-toggle="tab" href="#tab_static_js">
  391. <span class="nav-link-text">Static JS</span>
  392. </a>
  393. </li>
  394. </ul>
  395. <a class="btn-sm btn-theme mr-25 py-2 rounded-50 font-13 hidden" id="option-back" href="javascript:void(0);"><span class="btn-icon-wrap"><span class="line-icon"><i class="las la-arrow-left mx-1"></i><span>Back</span></span></span></a>
  396. <a class="btn btn-icon btn-flush-theme flush-soft-hover drawer-toggle-link ${active} right-aside-togglable" id="PivotIcon" href="javascript:void(0);"><span class="btn-icon-wrap"><span class="line-icon"><i class="las la-tools"></i></span></span></a>
  397. <a class="btn btn-icon btn-flush-theme flush-soft-hover ${hidden}" id="closed" href="javascript:void(0);"><span class="btn-icon-wrap"><span class="line-icon"><i class="las la-times"></i></span></span></a>
  398. </header>
  399. <div data-simplebar class="simple-scroll-bar">
  400. <div class="tab-content">
  401. <div class="tab-pane fade px-100 ${Layout_activeShow}" id="tab_layout">
  402. <p class="font-16 font-weight-600" style="color:#007D88">Select Widget Layout</p>
  403. <ul class="d-flex flex-wrap w-100 font-weight-600">
  404. <li class="w-50 layoutType">
  405. <a href="javascript:void(0);" class="p-3 m-2 bg-white border rounded-5 d-flex flex-column align-items-center" id="layoutChartReport">
  406. <img class="img-fluid h-200p" src="tenants/themes/compact/imgs/reports.png">
  407. <p class="pt-3 text-dark">Charts & Reports</p>
  408. </a>
  409. </li>
  410. <li class="w-50 layoutType">
  411. <a href="javascript:void(0);" class="p-3 m-2 bg-white border rounded-5 d-flex flex-column align-items-center" id="layoutKPI">
  412. <img class="img-fluid h-200p" src="tenants/themes/compact/imgs/kpis.png">
  413. <p class="pt-3 text-dark">KPI'S</p>
  414. </a>
  415. </li>
  416. <li class="w-50 layoutType">
  417. <a href="javascript:void(0);" class="p-3 m-2 bg-white border rounded-5 d-flex flex-column align-items-center" id="layoutDetails">
  418. <img class="img-fluid h-200p" src="tenants/themes/compact/imgs/details.png">
  419. <p class="pt-3 text-dark">Details</p>
  420. </a>
  421. </li>
  422. <li class="w-50 layoutType">
  423. <a href="javascript:void(0);" class="p-3 m-2 bg-white border rounded-5 d-flex flex-column align-items-center" id="layoutUserDesigned" data-layoutid="0">
  424. <img class="img-fluid h-200p" src="tenants/themes/compact/imgs/userdesigned.png">
  425. <p class="pt-3 text-dark">User Designed</p>
  426. </a>
  427. </li>
  428. </ul>
  429. </div>
  430. <div class="tab-pane fade" id="tab_design">
  431. <ul class="d-flex flex-wrap px-2" id="design-Library">
  432. </ul>
  433. </div>
  434. <div class="tab-pane fade px-150 py-50 ${Preview_activeShow}" id="tab_preview">
  435. <div class="row">
  436. <div class="col-md-4"></div>
  437. <div class="col-md-12">
  438. <ul class="designsPreviewAppend" id="designsPreviewAppend">
  439. </ul>
  440. </div>
  441. <div class="col-md-4"></div>
  442. </div>
  443. </div>
  444. <div class="tab-pane fade px-10" id="tab_static_js">
  445. <textarea class="border-dark h-80 summernote_StaticJsFunction w-100 " id="summernote_StaticJsFunction' + len + '" rows="9" cols="90" style="box-shadow: none;"></textarea>
  446. </div>
  447. </div>
  448. </div>
  449. </div>
  450. </div>
  451. <!-- Save as Modal -->
  452. <div class="modal" id="save_as_modal" tabindex="-1" role="dialog" aria-labelledby="save_as_modal"
  453. aria-hidden="true">
  454. <div class="modal-dialog" role="document">
  455. <div class="modal-content">
  456. <div id="divReport_ErrorMessage">Error</div>
  457. <div class="modal-header border-0">
  458. <h5 class="modal-title">Save report</h5>
  459. <button type="button" class="close">
  460. <span aria-hidden="true">&times;</span>
  461. </button>
  462. </div>
  463. <div class="modal-body">
  464. <div class="form-group">
  465. <div class="form-label-group">
  466. <label for="userName">Select Folder<span class="text-danger "
  467. id="spnIsRequired_folder"> *</span></label>
  468. <a href="#" id="reportCreateFolder" class="link-theme font-14 font-weight-500">+
  469. Create Group</a>
  470. </div>
  471. <select class="form-control custom-select mb-10" id="RptGroup_AutoComplete">
  472. <option selected>Select Group</option>
  473. </select>
  474. <input type="hidden" id="hfAutoComplete_ReportGroup"
  475. class="hfAutoCompleteId_ReportGroup value-control" data-isdynamic="true" />
  476. </div>
  477. <div class="custom-control custom-radio radio-theme">
  478. <input type="radio" id="customRadio_v1" name="customRadioV1"
  479. class="custom-control-input" checked>
  480. <label class="custom-control-label" for="customRadio_v1">Visible to all users</label>
  481. </div>
  482. <div class="custom-control custom-radio radio-theme">
  483. <input type="radio" id="customRadio_v2" name="customRadioV1"
  484. class="custom-control-input">
  485. <label class="custom-control-label" for="customRadio_v2">Visible to only me</label>
  486. </div>
  487. </div>
  488. <div class="modal-footer justify-content-start">
  489. <button type="button" id="btn-reportbuilder-save" class="btn btn-theme w-150p">Save</button>
  490. </div>
  491. </div>
  492. </div>
  493. </div>
  494. <!-- /Save as Modal -->
  495. <!-- Link Report Modal -->
  496. <div id="linkReportModalDiv"></div>
  497. <!-- /Link Report Modal -->
  498. </div>
  499. </div>
  500. <div id="divSelectDataList"></div>
  501. </div>`;
  502. return html;
  503. }
  504. deleteConfig(event, len) {
  505. var instance = this;
  506. if (instance.DeleteConfigurationIds == "0") {
  507. instance.DeleteConfigurationIds = "";
  508. }
  509. var id = event.currentTarget.id.split("__");
  510. $("#deleteconfig_" + len + "").val($("#deleteconfig_" + len + "").val() + id[2] + "|");
  511. $("#" + id[0]).remove();
  512. }
  513. loadRightSideBar(id, containerid) {
  514. var InstalledAppId_html = Unibase.Themes.Providers.DetailHelper.installedAppId, height_apps = "d-flex flex-column";
  515. let Mode = Unibase.Platform.Widgets.Components.Widget.Instance().defautSettings.filter(function (o) { return o.widgetdesignid === 20210628; }), drawer_push = '';
  516. if (Mode[0].mode == 'Create_Mode') {
  517. drawer_push = '';
  518. }
  519. if (Mode[0].mode == 'Edit_Mode') {
  520. drawer_push = 'biz-drawer-toggle';
  521. }
  522. if (InstalledAppId_html != 0) {
  523. height_apps = 'd-flex flex-column';
  524. }
  525. let RightSideBarhtml = `<div id="drawer_push" class="biz-drawer biz-drawer drawer-small drawer-right custom-right-chart-nav ${drawer_push}">
  526. <ul class="nav nav-line nav-tabs nav-light font-weight-500">
  527. <li class="nav-item">
  528. <a class="nav-link details active py-20" data-toggle="tab" href="#tab_appearance" style="border:none">
  529. <span class="nav-link-text">Appearance</span>
  530. </a>
  531. </li>
  532. <li class="nav-item">
  533. <a class="nav-link settings py-20" data-toggle="tab" href="#tab_settings" style="border:none">
  534. <span class="nav-link-text">Settings</span>
  535. </a>
  536. </li>
  537. </ul>
  538. <!-- <div class="drawer-text">Appearance</div> -->
  539. <button type="button" class="drawer-close close hidden">
  540. <span aria-hidden="true">&times;</span>
  541. </button>
  542. <div class="drawer-body" style="height:100% !important;">
  543. <div data-simplebar class="simple-scroll-bar">
  544. <div class="drawer-content-wrap pt-0">
  545. <div class="collapse-simple">
  546. <div class="tab-content">
  547. <div class="tab-pane fade show active" id="tab_appearance">
  548. <form id="frmUnibase_widgetBuilderAppearance" data-validate="parsley" data-isdynamic="false">
  549. <div class="card p-0 border-0">
  550. <div class="card-header d-flex justify-content-between border-0 pa-0">
  551. <a role="button" class="text-capitalize font-weight-500 eventdisabled text-dark" data-toggle="collapse" href="#color_info" aria-expanded="true">Background</a>
  552. <span class="rounded-2 hidden m-1 py-2" id="backgroundcolor" style="width: 20px; height: 20px;"></span>
  553. <input class="bg-color-1" id="backgroundcolor-color-picker" value="" style="display: none;">
  554. </div>
  555. <div class="card-body p-0 mt-3">
  556. <ul>
  557. <li>
  558. <ul class="d-flex justify-content-between font-weight-500 text-dark" id="editFontSection">
  559. <li class="d-flex flex-column w-45">
  560. <span class="font-14 pb-2">Font Size</span>
  561. <select class="form-control font-13 py-0 pl-2 pr-4 pr-4 border-0 bg-light custom-select eventdisabled" id="font-size" placeholder="Select Font Size Type">
  562. <option value="" selected>Font size</option>
  563. <option value="None">None</option>
  564. <option value="11">font-11</option>
  565. <option value="12">font-12</option>
  566. <option value="13">font-13</option>
  567. <option value="14">font-14</option>
  568. <option value="16">font-16</option>
  569. <option value="18">font-18</option>
  570. <option value="20">font-20</option>
  571. <option value="22">font-22</option>
  572. <option value="24">font-24</option>
  573. <option value="26">font-26</option>
  574. <option value="28">font-28</option>
  575. <option value="30">font-30</option>
  576. <option value="32">font-32</option>
  577. <option value="34">font-34</option>
  578. <option value="36">font-36</option>
  579. <option value="38">font-38</option>
  580. </select>
  581. </li>
  582. <li class="d-flex flex-column w-45 font-Family-section">
  583. <span class="font-14 pb-2">Font Family</span>
  584. <select class="form-control font-13 py-0 pl-2 pr-4 border-0 bg-light custom-select eventdisabled" id="font-style" placeholder="Select Font Style">
  585. <option value="" selected>Font style</option>
  586. <option value="None">None</option>
  587. <option value="Times New Roman">Times New Roman</option>
  588. <option value="Georgia">Georgia</option>
  589. <option value="Garamond">Garamond</option>
  590. <option value="Arial">Arial</option>
  591. <option value="Verdana">Verdana</option>
  592. <option value="Helvetica">Helvetica</option>
  593. <option value="Monaco">Monaco</option>
  594. <option value="Courier New">Courier New</option>
  595. <option value="Copperplate">Copperplate</option>
  596. <option value="Papyrus">Papyrus</option>
  597. </select>
  598. </li>
  599. </ul>
  600. </li>
  601. <li class=" mt-3">
  602. <ul class="d-flex justify-content-between font-weight-500 text-dark">
  603. <li class="d-flex flex-column w-45" id="ddlwidthOnEdit">
  604. <span class="font-14 pb-2">Widget Width</span>
  605. <select id="ddlWidth" class="form-control floating-label-control required custom-select eventdisabled font-14 border-0 bg-light" data-isdynamic="false" placeholder="Widget Width *" data-validatename="Widget Width" data-placeholder="Enter Widget Width" data-label="Widget Width *">
  606. <option value="1">1</option>
  607. <option value="2">2</option>
  608. <option value="3">3</option>
  609. <option value="4">4</option>
  610. <option value="5">5</option>
  611. <option value="6">6</option>
  612. <option value="7">7</option>
  613. <option value="8">8</option>
  614. <option value="9">9</option>
  615. <option value="10">10</option>
  616. <option value="11">11</option>
  617. <option selected value="12">12</option>
  618. </select>
  619. </li>
  620. <li class="${height_apps} w-45" id="kpiheight">
  621. <span class="font-14 pb-2">Height</span>
  622. <input type="text" id="ddlheight" class="form-control floating-label-control required shadow-none eventdisabled font-14 border-0 bg-light" data-isdynamic="false" placeholder="Height *" data-placeholder="Enter height" data-label="Height *" autocomplete="off" data-validatename="Height" value="0">
  623. </li>
  624. </ul>
  625. </li>
  626. </ul>
  627. <div class="p-2 py-3 border rounded-5 mt-3" id="editBorderSection">
  628. <ul class="d-flex justify-content-between">
  629. <li class="d-flex flex-column text-dark font-weight-500">
  630. <span class="font-14 pb-2">Border Type</span>
  631. <select class="form-control font-13 py-0 pl-2 pr-4 border-0 bg-light custom-select eventdisabled" id="border-type" placeholder="Select Border Type">
  632. <option selected>Border Type</option>
  633. <option value="none">none</option>
  634. <option value="solid">Solid</option>
  635. <option value="dashed">Dashed</option>
  636. <option value="dotted">Dotted</option>
  637. </select>
  638. </li>
  639. <li class="d-flex flex-column text-dark font-weight-500">
  640. <span class="font-14 pb-2">Border width</span>
  641. <select class="form-control font-13 py-0 pl-2 pr-4 border-0 bg-light custom-select eventdisabled" id="border-width" placeholder="Select Border Type">
  642. <option selected>Border Width</option>
  643. <option value="1px">1</option>
  644. <option value="2px">2</option>
  645. <option value="3px">3</option>
  646. <option value="4px">4</option>
  647. <option value="5px">5</option>
  648. <option value="6px">6</option>
  649. <option value="7px">7</option>
  650. <option value="8px">8</option>
  651. <option value="9px">9</option>
  652. <option value="10px">10</option>
  653. <option value="12px">12</option>
  654. <option value="14px">14</option>
  655. <option value="16px">16</option>
  656. </select>
  657. </li>
  658. </ul>
  659. <ul class="d-flex justify-content-between mt-3">
  660. <li class="d-flex flex-column text-dark font-weight-500">
  661. <span class="font-14 pb-2">Border Color</span>
  662. <div class="color-picker-div h-10p w-90p">
  663. <input class="bg-color-1 form-control font-13 py-0 pl-2 pr-4 border-0 bg-light custom-select eventdisabled" id="border-color" value="" style="display: none;">
  664. </div>
  665. </li>
  666. <li class="d-flex flex-column text-dark font-weight-500">
  667. <span class="font-14 pb-2">Border Radius</span>
  668. <select class="form-control font-13 py-0 pl-2 pr-4 border-0 bg-light custom-select eventdisabled" id="border-radius" placeholder="Select Border Type">
  669. <option selected>Border radius</option>
  670. <option value="1px">1px</option>
  671. <option value="2px">2px</option>
  672. <option value="3px">3px</option>
  673. <option value="4px">4px</option>
  674. <option value="5px">5px</option>
  675. <option value="6px">6px</option>
  676. <option value="7px">7px</option>
  677. <option value="8px">8px</option>
  678. <option value="9px">9px</option>
  679. </select>
  680. </li>
  681. <li class="flex-column text-dark font-weight-500 hidden">
  682. <span class="font-14 pb-2">List Style Type</span>
  683. <select class="form-control font-13 py-0 pl-2 pr-4 border-0 bg-light custom-select" id="list-style-type" placeholder="Select list-style-type">
  684. <option selected>None</option>
  685. <option value="disc">Circle</option>
  686. <option value="circle">Rounded Circle</option>
  687. <option value="square">Square</option>disclosure-closed
  688. <option value="decimal">Number</option>
  689. <option value="disclosure-closed">Left Arrow</option>
  690. <option value="disclosure-open">Down Arrow</option>
  691. <option value="upper-roman">Upper-Roman</option>
  692. <option value="lower-alpha">Lower-Alpha</option>
  693. </select>
  694. </li>
  695. </ul>
  696. </div>
  697. <div class="mt-3 hidden details-Widget">
  698. <span>Details Widget</span>
  699. </div>
  700. <div class="p-2 py-3 border rounded-5 mt-2 details-Widget hidden">
  701. <ul class="d-flex justify-content-between">
  702. <li class="d-flex flex-column text-dark font-weight-500">
  703. <span class="font-14 pb-2">Border Type</span>
  704. <select class="form-control font-13 py-0 pl-2 pr-4 border-0 bg-light custom-select eventdisabled" id="border-type-details" placeholder="Select Border Type">
  705. <option selected>Border Type</option>
  706. <option value="none">none</option>
  707. <option value="solid">Solid</option>
  708. <option value="dashed">Dashed</option>
  709. <option value="dotted">Dotted</option>
  710. </select>
  711. </li>
  712. <li class="d-flex flex-column text-dark font-weight-500">
  713. <span class="font-14 pb-2">Border width</span>
  714. <select class="form-control font-13 py-0 pl-2 pr-4 border-0 bg-light custom-select eventdisabled" id="border-width-details" placeholder="Select Border Type">
  715. <option selected>Border Width</option>
  716. <option value="1px">1</option>
  717. <option value="2px">2</option>
  718. <option value="3px">3</option>
  719. <option value="4px">4</option>
  720. <option value="5px">5</option>
  721. <option value="6px">6</option>
  722. <option value="7px">7</option>
  723. <option value="8px">8</option>
  724. <option value="9px">9</option>
  725. <option value="10px">10</option>
  726. <option value="12px">12</option>
  727. <option value="14px">14</option>
  728. <option value="16px">16</option>
  729. </select>
  730. </li>
  731. </ul>
  732. <ul class="d-flex justify-content-between mt-3">
  733. <li class="d-flex flex-column text-dark font-weight-500">
  734. <span class="font-14 pb-2">Border Color</span>
  735. <div class="color-picker-div h-10p w-90p">
  736. <input class="bg-color-1 form-control font-13 py-0 pl-2 pr-4 border-0 bg-light custom-select" id="border-color-details" value="" style="display: none;">
  737. </div>
  738. </li>
  739. <li class="d-flex flex-column text-dark font-weight-500">
  740. <span class="font-14 pb-2">Border Radius</span>
  741. <select class="form-control font-13 py-0 pl-2 pr-4 border-0 bg-light custom-select" id="border-radius-details" placeholder="Select Border Type">
  742. <option selected>Border radius</option>
  743. <option value="1px">1px</option>
  744. <option value="2px">2px</option>
  745. <option value="3px">3px</option>
  746. <option value="4px">4px</option>
  747. <option value="5px">5px</option>
  748. <option value="6px">6px</option>
  749. <option value="7px">7px</option>
  750. <option value="8px">8px</option>
  751. <option value="9px">9px</option>
  752. </select>
  753. </li>
  754. </ul>
  755. </div>
  756. <ul class="d-flex mt-2 border border-dashed rounded-5 p-2 flex-column chooseImage">
  757. <li><p class="font-16 text-center text-dark">Upload your Icon</p></li>
  758. <li class=" d-flex flex-column mx-auto">
  759. <div class='file d-flex justify-content-center mt-2' id="div_WidgetKPIImageFile">
  760. <label for='txt_KPIImageFile' id="lblKPIImage" class="d-flex " onchange="Unibase.Platform.Widgets.Components.Widget.Instance().hideKPILabel()" >
  761. <span class="w-70p"><img src="tenants/themes/compact/imgs/cloud.svg" class="img-fluid"></span>
  762. </label>
  763. <input type='file' class="d-none" id="txt_KPIImageFile" onchange="Unibase.Platform.Widgets.Components.Widget.Instance().hideKPILabel(this)"/>
  764. </div>
  765. <div style="margin-top:-15px;">
  766. <span class="text-dark" id="lblKPIFileName"></span>
  767. <span class="text-dark hidden" for="txt_KPIImageFile" id="lblKPIImage2"></span>
  768. <input type="hidden" id="hf_KPIIconPath" value="">
  769. </div>
  770. </li>
  771. </ul>
  772. </div>
  773. </div>
  774. </form>
  775. </div>
  776. <div class="tab-pane fade" id="tab_settings">
  777. <ul class="d-flex flex-column font-weight-500">
  778. <li class="pt-4"><p class="" style="color: #007D88;">App Parameters</p></li>
  779. <li class="pt-2">
  780. <div class="biz-adj-drawer-wrap h-100">
  781. <button data-target="adj_drawer_paramters" data-clickevent="parameter" class="btn btn-secondary btn-wth-icon icon-left adj-drawer-open-parameters mb-15">Add Parameters</button>
  782. <div id="bindParameterList"></div>
  783. <div id="adj_drawer_paramters" class="biz-adj-drawer w-45 border ml-auto" style="left:0px; height:731px;">
  784. <header class="border-bottom border-dark">
  785. <p class="px-5 text-dark">Add Parameters</p>
  786. </header>
  787. <div class="drawer-body pb-0 px-3">
  788. <form class="parametersForm">
  789. <ul class="parametersClassUl" id="parametersIdUl" data-parameterIndex="0">
  790. <li class="m-4">
  791. <ul class="d-flex justify-content-between">
  792. <li class="w-45">
  793. <div class="floating-label-form-group d-flex flex-column" id="div_WidgetParameters">
  794. <label for="txt_ParametersName" id="lblParameterName">Parameter<span class="text-danger"> *</span></label>
  795. <input type="text" class="form-control floating-label-control" id="txt_Parameters" placeholder="Parameters" data-placeholder="Enter Parameter" data-label="Parameters" autocomplete="off"/>
  796. </div>
  797. </li>
  798. <li class="d-flex flex-column w-45">
  799. <div class="floating-label-form-group-with-value d-flex flex-column" id="div_Operator" style="border-bottom:0;">
  800. <label for="ddlOperator" id="lblOperator">Operator<span class="text-danger"> *</span></label>
  801. <select id="ddlOperator" class="form-control floating-label-control" data-isdynamic="true" placeholder="Operator" data-placeholder="Select Operator" data-label="Converter">
  802. <option value="0">Select Operator</option>
  803. <option value="<"><</option>
  804. <option value=">">></option>
  805. <option value="<="><=</option>
  806. <option value=">=">>=</option>
  807. <option value="=">=</option>
  808. <option value="!=">!=</option>
  809. <option value="ilike">ilike</option>
  810. </select>
  811. </div>
  812. </li>
  813. </ul>
  814. </li>
  815. <li class="m-4">
  816. <ul class="d-flex justify-content-between">
  817. <li class="w-45 div_WidgetParameters">
  818. <div class="floating-label-form-group-with-value d-flex flex-column" id="div_WidgetParameterType">
  819. <label for="lbl_ParameterType" id="lblParameterType" class="font-bold">Type<span class="text-danger"> *</span></label>
  820. <select id="ddlparametertype" class="form-control floating-label-control" data-isdynamic="true" placeholder="Type" data-placeholder="Select Type" data-label="Type">
  821. <option value="1">Report Column</option>
  822. <option value="2">User Defined Value</option>
  823. </select>
  824. </div>
  825. </li>
  826. <li class="w-45">
  827. <div class="floating-label-form-group-with-value d-flex flex-column" id="div_ParameterValues" style="border-bottom:0;">
  828. <label for="ddlParameterValue" id="lblParameterValues" class="font-bold scroll-x scroll-y">Value<span class="text-danger"> *</span></label>
  829. <select id="ddlParameterValue" class="form-control floating-label-control" data-isdynamic="true" placeholder="Value" data-placeholder="Select Value " data-label="Columns">
  830. <option value="">Select Value</option>
  831. </select>
  832. </div>
  833. <div class="floating-label-form-group-with-value hidden" id="div_ParameterValue" style="border-bottom:0;">
  834. <label for="ddlParameterValue" id="lblParameterValues" class="font-bold scroll-x scroll-y">Value<span class="text-danger"> *</span></label>
  835. <input type="text" id="txtParameterValue" class="form-control floating-label-control " value=""/>
  836. </div>
  837. </li>
  838. </ul>
  839. </li>
  840. <li class="m-4 text-center">
  841. <a href="javascript:void(0)" id="btn_AddParameterRow" class="btn btn-theme font-16" id="addparameters" onclick="Unibase.Platform.Widgets.Components.Widget.Instance().bindParameterRow()">Add</a>
  842. </li>
  843. <li class="m-4">
  844. <ul class="parametersortable" id="ulparamers">
  845. <li class="bindParamterRow"> <div class="row font-14 box-shadow row-item ui-sortable-handle"> <div class="col-md-1 col-1 hidden border p-2 text-center"> <span class="text-dark font-weight-500">Index</span> </div><div class="col-md-12 col-12"> <div class="parameterrowheading font-14 row text-center font-weight-500"> <div class="col-sm-5 col-5 p-2 border"> Parameter Name</div><div class="col-sm-2 col-2 p-2 border"> Operator</div><div class="col-sm-5 col-5 p-2 border"> <span id="row3">Value</span> </div></div></div></div></li>
  846. </ul>
  847. </li>
  848. </ul>
  849. </form>
  850. </div>
  851. <footer class="d-flex justify-content-between border bg-white position-fixed py-2 w-45 px-3" style="bottom:0px;">
  852. <a href="#" class="btn btn-light py-0 btn-adj-drawer-close">Close</a>
  853. <a href="javascript:;" class="btn btn-theme py-0 btn-adj-drawer-close">Save</a>
  854. </footer>
  855. </div>
  856. </div>
  857. </li>
  858. <li class="pt-4"><p class="" style="color: #007D88;">App Configuration Details</p></li>
  859. <li class="pt-2">
  860. <div class="biz-adj-drawer-wrap h-100">
  861. <button data-target="adj_drawer_configuration" data-clickevent="parameter" class="btn btn-secondary btn-wth-icon icon-left adj-drawer-open-parameters mb-15 btnAddNewConfiguration" onclick="Unibase.Platform.Widgets.Components.Widget.Instance().addAppConfiguration(` + id + `);">Add New Configuration</button>
  862. <div id="adj_drawer_configuration" class="biz-adj-drawer w-45 border ml-auto" style="left:0px; height:100vh;">
  863. <header class="border-bottom border-dark" id="div_validation">
  864. <p class="px-5 text-dark">Add New Configuration</p>
  865. </header>
  866. <div class="drawer-body pb-0 px-3" style="overflow-y:scroll;overflow-x:hidden">
  867. <div class="AppConfigurations appConfigSortable" id="appConfigColumns">
  868. <div class="AppConfig-row"></div>
  869. </div>
  870. </div>
  871. <footer class="d-flex justify-content-between border bg-white position-fixed py-2 w-45 px-3 appendconfigSaveNamesClass" style="bottom:0px;" >
  872. <a href="#" class="btn btn-light py-0 btn-adj-drawer-close"onclick="Unibase.Platform.Widgets.Components.Widget.Instance().appModalconfigClose()">Close</a>
  873. <a href="javascript:;" class="btn btn-theme py-0 btn-adj-drawer-close"
  874. onclick="Unibase.Platform.Widgets.Components.Widget.Instance().appendconfigSaveNames(` + InstalledAppId_html + `)">Save</a>
  875. </footer>
  876. </div>
  877. <div id="AppConfigNames">
  878. </div>
  879. </div>
  880. </li>
  881. </ul>
  882. </div>
  883. </div>
  884. </div>
  885. </div>
  886. </div>
  887. </div>
  888. </div>`;
  889. $("#widgetBuilderRightNav").html(RightSideBarhtml);
  890. }
  891. appModalconfigClose() {
  892. $('.AppConfig-row.active.column-appconfigitem').remove();
  893. }
  894. appendconfigSaveNames(InstalledAppId) {
  895. var instance = this;
  896. var len = $('.AppConfig-row.active.column-appconfigitem').attr('data-length');
  897. var roleid = Number($("#autocomplete_role_" + len + "").val());
  898. var Roles = $("#txt_RoleSetting_" + len + " ").val();
  899. var permission = $("#ddlPermission_" + len + " ").val();
  900. var configtype = $("#ddlAppConfigType_" + len + " ").val();
  901. var settingurltype = $("#ddlSettingUrlType_" + len + " ").val();
  902. if (Number($("#ddlSettingUrlType_" + len + " ").val()) == Platform.Apps.Enums.SettingUrlType.Widget) {
  903. var linkwidgetid = Number($("#ddlWidgets_" + len + " ").val());
  904. if (linkwidgetid == 0) {
  905. MessageHelper.Instance().showError("please select link widget", "div_validation");
  906. event.stopPropagation();
  907. return false;
  908. }
  909. }
  910. if ($("#ddlSettingUrlType_" + len + " ").val() == Platform.Apps.Enums.SettingUrlType.Form) {
  911. var forms = $("#autocomplete_Form_" + len + " ").val();
  912. var roles = Number($("#autocomplete_role_" + len + "").val());
  913. if (forms == null) {
  914. MessageHelper.Instance().showError("please select Form", "div_validation");
  915. event.stopPropagation();
  916. return false;
  917. }
  918. if (roles == -1) {
  919. MessageHelper.Instance().showError("please select Role", "div_validation");
  920. event.stopPropagation();
  921. return false;
  922. }
  923. if ($(".div_formrole_" + len + "").find("." + roleid + "_duplicate").length == 0) {
  924. MessageHelper.Instance().showError("please add formrole", "div_validation");
  925. event.stopPropagation();
  926. return false;
  927. }
  928. }
  929. if ($("#ddlSettingUrlType_" + len + " ").val() == Platform.Apps.Enums.SettingUrlType.JsFunction) {
  930. let SettingURL = $("#txt_SettingURL_" + len + "").val();
  931. var dynamicjs = $("#txt_DynamicJs_" + len).val();
  932. if (SettingURL == "") {
  933. MessageHelper.Instance().showError("SettingURL Is Mandatory", "div_validation");
  934. event.stopPropagation();
  935. return false;
  936. }
  937. if (dynamicjs == "") {
  938. MessageHelper.Instance().showError("Please Add Dynamicjs", "div_validation");
  939. event.stopPropagation();
  940. return false;
  941. }
  942. }
  943. if ($("#ddlSettingUrlType_" + len + " ").val() == Platform.Apps.Enums.SettingUrlType.Dashboard) {
  944. var dashboardid = Number($("#ddlDashboard_" + len + " ").val());
  945. if (dashboardid == 0) {
  946. MessageHelper.Instance().showError("Please Select Dashboard", "div_validation");
  947. event.stopPropagation();
  948. return false;
  949. }
  950. }
  951. if ($("#ddlSettingUrlType_" + len + " ").val() == Platform.Apps.Enums.SettingUrlType.Dashboardgroup) {
  952. var Dashboardgroupid = Number($("#ddlDashboardGroup_" + len + "").val());
  953. if (Dashboardgroupid == 0) {
  954. MessageHelper.Instance().showError("Please Select Dashboardgroup", "div_validation");
  955. event.stopPropagation();
  956. return false;
  957. }
  958. }
  959. if ($("#ddlSettingUrlType_" + len + " ").val() == Platform.Apps.Enums.SettingUrlType.Procedure) {
  960. var Procedurename = $("#txt_ProcedureName_" + len).val();
  961. if (Procedurename == "") {
  962. MessageHelper.Instance().showError("Procedurename Is Mandatory", "div_validation");
  963. event.stopPropagation();
  964. return false;
  965. }
  966. }
  967. Widget.Instance().len = $('.AppConfig-row').length;
  968. let AppConfigguartionName = $('.AppConfig-row.active.AppConfig_' + len + '.column-appconfigitem').find('#txt_SettingName_' + len + '').val();
  969. if (AppConfigguartionName && Roles && permission && configtype && settingurltype != null) {
  970. let appconfightml = '<li class="d-flex flex-column bg-light my-3 p-2 rounded-2 liclassId" id="li_' + len + '"> <div class="d-flex flex-row text-dark biz-adj-drawer-wrap w-100"> <span class="border-bottom border-dashed border-dark p-1 w-70 text-truncate">' + AppConfigguartionName + '</span> <a href="javascript:void(0);" data-target="adj_drawer_configuration" data-clickevent="parameter" class="ml-auto my-auto px-2 EditAppConfiguration" data-lengthEdit=' + len + ' id="edit_icon_' + len + '" onclick="Unibase.Platform.Widgets.Components.Widget.Instance().EditAppConfiguration(' + InstalledAppId + ',' + len + ');"> <i class="fa p-1 fa-edit text-dark"></i> </a> <a href="javascript:void(0);" class=" my-auto border-left px-2 DeleteAppConfiguration" onclick="Unibase.Platform.Widgets.Components.Widget.Instance().DeleteAppConfiguration(' + InstalledAppId + ',' + len + ');"> <i class="fa p-1 fa-trash text-danger"></i> </a> </div></li>';
  971. $("#AppConfigNames").append(appconfightml);
  972. var elem = $('#li_' + len);
  973. var InstalledAppId_ = Unibase.Themes.Providers.DetailHelper.installedAppId;
  974. instance.bindList_New(elem, len, InstalledAppId_);
  975. if ($("#chkUngrouped_1").is(':checked') == true) {
  976. $('#config_widget_2250').html('<button class="btn btn-sm btn-primary pull-right btn-rounded text-white" >' + $('#txt_SettingName_' + len).val() + '< /button>');
  977. }
  978. else {
  979. $('#config_widget_2250').empty();
  980. }
  981. }
  982. else {
  983. MessageHelper.Instance().showError("Mandatory Fields Are Missing", "div_validation");
  984. event.stopPropagation();
  985. }
  986. }
  987. appendconfigSaveNames_(InstalledAppId) {
  988. var instance = this;
  989. var len = $('.AppConfig-row.active').attr('data-length');
  990. var appconfigurationid = $('.hf_AppConfigurationId').val();
  991. var roleid = Number($("#autocomplete_role_" + len + "").val());
  992. var Roles = $("#txt_RoleSetting_" + len + " ").val();
  993. var permission = $("#ddlPermission_" + len + " ").val();
  994. var configtype = $("#ddlAppConfigType_" + len + " ").val();
  995. var settingurltype = $("#ddlSettingUrlType_" + len + " ").val();
  996. if (Number($("#ddlSettingUrlType_" + len + " ").val()) == Platform.Apps.Enums.SettingUrlType.Widget) {
  997. var linkwidgetid = Number($("#ddlWidgets_" + len + " ").val());
  998. if (linkwidgetid == 0) {
  999. MessageHelper.Instance().showError("please select link widget", "div_validation");
  1000. event.stopPropagation();
  1001. return false;
  1002. }
  1003. }
  1004. if ($("#ddlSettingUrlType_" + len + " ").val() == Platform.Apps.Enums.SettingUrlType.Form) {
  1005. var forms = $("#autocomplete_Form_" + len + " ").val();
  1006. var roles = Number($("#autocomplete_role_" + len + "").val());
  1007. if (forms == null) {
  1008. MessageHelper.Instance().showError("please select Form", "div_validation");
  1009. event.stopPropagation();
  1010. return false;
  1011. }
  1012. if (roles == null) {
  1013. MessageHelper.Instance().showError("please select Role", "div_validation");
  1014. event.stopPropagation();
  1015. return false;
  1016. }
  1017. if ($(".div_formrole_" + len + "").find("." + roleid + "_duplicate").length == 0) {
  1018. MessageHelper.Instance().showError("please add formrole", "div_validation");
  1019. event.stopPropagation();
  1020. return false;
  1021. }
  1022. }
  1023. if ($("#ddlSettingUrlType_" + len + " ").val() == Platform.Apps.Enums.SettingUrlType.JsFunction) {
  1024. let SettingURL = $("#txt_SettingURL_" + len + "").val();
  1025. let dynamicjs = $("#txt_DynamicJs_" + len + "").val();
  1026. if (SettingURL == "") {
  1027. MessageHelper.Instance().showError("SettingURL Is Mandatory", "div_validation");
  1028. event.stopPropagation();
  1029. return false;
  1030. }
  1031. if (dynamicjs == "") {
  1032. MessageHelper.Instance().showError("Please Add Dynamicjs", "div_validation");
  1033. event.stopPropagation();
  1034. return false;
  1035. }
  1036. }
  1037. if ($("#ddlSettingUrlType_" + len + " ").val() == Platform.Apps.Enums.SettingUrlType.Dashboard) {
  1038. var dashboardid = Number($("#ddlDashboard_" + len + " ").val());
  1039. if (dashboardid == 0) {
  1040. MessageHelper.Instance().showError("Please Select Dashboard", "div_validation");
  1041. event.stopPropagation();
  1042. return false;
  1043. }
  1044. }
  1045. if ($("#ddlSettingUrlType_" + len + " ").val() == Platform.Apps.Enums.SettingUrlType.Dashboardgroup) {
  1046. var Dashboardgroupid = Number($("#ddlDashboardGroup_" + len + "").val());
  1047. if (Dashboardgroupid == 0) {
  1048. MessageHelper.Instance().showError("Please Select Dashboardgroup", "div_validation");
  1049. event.stopPropagation();
  1050. return false;
  1051. }
  1052. }
  1053. if ($("#ddlSettingUrlType_" + len + " ").val() == Platform.Apps.Enums.SettingUrlType.Procedure) {
  1054. var Procedurename = $("#txt_ProcedureName_" + len + "").val();
  1055. if (Procedurename == "") {
  1056. MessageHelper.Instance().showError("Procedurename Is Mandatory", "div_validation");
  1057. event.stopPropagation();
  1058. return false;
  1059. }
  1060. }
  1061. Widget.Instance().len = $('.AppConfig-row').length;
  1062. let AppConfigguartionName = $('.AppConfig-row.active.AppConfig_' + len + '.column-appconfigitem').find('#txt_SettingName_' + len + '').val();
  1063. if (AppConfigguartionName && Roles && permission && configtype && settingurltype != null) {
  1064. let appconfightml = '<div class="d-flex flex-row text-dark biz-adj-drawer-wrap w-100"> <span class="border-bottom border-dashed w-70 text-truncate border-dark p-1">' + AppConfigguartionName + '</span> <a href="javascript:void(0);" data-target="adj_drawer_configuration" data-clickevent="parameter" class="ml-auto my-auto px-2 EditAppConfiguration" data-lengthEdit=' + len + ' id="edit_icon_' + len + '" onclick="Unibase.Platform.Widgets.Components.Widget.Instance().EditAppConfiguration(' + InstalledAppId + ',' + len + ');"> <i class="fa p-1 fa-edit text-dark"></i> </a> <a href="javascript:void(0);" class=" my-auto border-left px-2 DeleteAppConfiguration" onclick="Unibase.Platform.Widgets.Components.Widget.Instance().DeleteAppConfiguration(' + InstalledAppId + ',' + len + ');"> <i class="fa p-1 fa-trash text-danger"></i> </a></div>';
  1065. $("#li_" + len).html(appconfightml);
  1066. let elem = $('#li_' + len);
  1067. let InstalledAppId_ = Unibase.Themes.Providers.DetailHelper.installedAppId;
  1068. instance.bindList_New(elem, len, InstalledAppId_);
  1069. if ($("#chkUngrouped_1").is(':checked') == true) {
  1070. $('#config_widget_2250').html('<button class="btn btn-sm btn-primary pull-right btn-rounded text-white">' + $('#txt_SettingName_' + len).val() + '</button>');
  1071. }
  1072. else {
  1073. $('#config_widget_2250').empty();
  1074. }
  1075. }
  1076. else {
  1077. MessageHelper.Instance().showError("Mandatory Fields Are Missing", "div_validation");
  1078. event.stopPropagation();
  1079. }
  1080. }
  1081. load(id, containerid, callback) {
  1082. var instance = this;
  1083. this.loadRightSideBar(id, containerid);
  1084. var InstalledAppId_load = Unibase.Themes.Providers.DetailHelper.installedAppId;
  1085. Unibase.Platform.Widgets.Managers.WidgetManager.Instance().getColors().then(function (response) {
  1086. let dataOptions = [];
  1087. });
  1088. $("#btn-widget-close").click(function () {
  1089. $(".biz-submenu").css({ "z-index": "9999" });
  1090. $(".biz-layout-3-left-nav").css({ "z-index": "1040" });
  1091. let cls_nav_2 = $(".toplayout-structures-panel").hasClass("nav_2_layout");
  1092. if ($("#bizgaze_body").find("#dashboardWidget-modal-content").length == 0) {
  1093. $(".toplayout-structures-panel").css({ "z-index": "9999" });
  1094. $("#bizgaze_body").addClass("edit-dashboard-mode");
  1095. }
  1096. else {
  1097. $("#bizgaze_body").removeClass("edit-dashboard-mode");
  1098. $(".toplayout-structures-panel").css({ "z-index": "1040" });
  1099. $(".biz-submenu").css({ "z-index": "1040" });
  1100. }
  1101. Unibase.Platform.Helpers.NavigationHelper.Instance().closePopUp();
  1102. $('.biz-pg-wrapper').find('._bizgaze_detail_container').last().removeClass('hidden');
  1103. var designsPreviewIndex = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.findIndex(x => x == 'designsPreviewAppend');
  1104. Unibase.Platform.Helpers.NavigationHelper.reportViewerInstance.filter(function (o) {
  1105. if (o.childcontainerid === "designsPreviewAppend") {
  1106. Unibase.Platform.Helpers.NavigationHelper.reportViewerInstance.pop();
  1107. }
  1108. });
  1109. if (designsPreviewIndex != -1) {
  1110. Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.splice(designsPreviewIndex, 1);
  1111. }
  1112. });
  1113. Widget.Instance().bindWidgetTypes(id);
  1114. Widget.Instance().bindWidgetFormats();
  1115. Widget.Instance().bindReports();
  1116. Widget.Instance().bindWidgetLayouts();
  1117. Widget.Instance().loadIdentity();
  1118. Widget.Instance().loadInstalledapp(id);
  1119. Widget.Instance().DeleteConfigurationIds = "0";
  1120. $("#ddlWidgetType").on("change", function () {
  1121. var widgetTypeName = $(this).children("option:selected").text();
  1122. var lowerCaseWidgetType = widgetTypeName.toLowerCase();
  1123. if (RegExp("dashboard").test(lowerCaseWidgetType)) {
  1124. $('#ddlAppProviders').val(null).trigger('change');
  1125. $("#appProviders").addClass("hidden");
  1126. $("#ddlAppProviders").removeClass("required");
  1127. $("#span_ddlappprovider").addClass("hidden");
  1128. $(".AppConfigurations").find(".AppConfig-row").each(function (e) {
  1129. $(this).find(".FormInstallAppId").prop('disabled', false);
  1130. });
  1131. }
  1132. else if (RegExp("app").test(lowerCaseWidgetType)) {
  1133. $("#appProviders").removeClass("hidden");
  1134. $("#ddlAppProviders").addClass("required");
  1135. $("#span_ddlappprovider").removeClass("hidden");
  1136. Widget.Instance().loadInstalledapp(id);
  1137. $(".AppConfigurations").find(".AppConfig-row").each(function (e) {
  1138. $(this).find(".FormInstallAppId").prop('disabled', true);
  1139. });
  1140. }
  1141. else {
  1142. $("#appProviders").addClass("hidden");
  1143. $("#ddlAppProviders").removeClass("required");
  1144. $("#span_ddlappprovider").addClass("hidden");
  1145. Widget.Instance().loadInstalledapp(id);
  1146. $(".AppConfigurations").find(".AppConfig-row").each(function (e) {
  1147. $(this).find(".FormInstallAppId").prop('disabled', true);
  1148. });
  1149. }
  1150. });
  1151. $("#ddlWidgetDesign").on("change", function () {
  1152. if ($("#ddlWidgetDesign option:selected").text() == "KPI_Default" || $("#ddlWidgetDesign option:selected").text() == "KPI_Icon" || $("#ddlWidgetDesign option:selected").text() == "KPI_KPISingleValueWithborder" || $("#ddlWidgetDesign option:selected").text() == "KPI_Left_Bar_color_Icon" || $("#ddlWidgetDesign option:selected").text() == "KPI_Icon_Color" || $("#ddlWidgetDesign option:selected").text() == "KPI_Icon_Bg_Color") {
  1153. $("#div_Value1").removeClass('hidden');
  1154. $("#div_Value2").addClass('hidden');
  1155. $("#div_Value3").addClass('hidden');
  1156. $("#ddlSelectedLabelValue_1").parent().addClass('hidden');
  1157. $("#ddlSelectedLabelValue_2").parent().addClass('hidden');
  1158. $("#ddlSelectedLabelValue_3").parent().addClass('hidden');
  1159. }
  1160. else if ($("#ddlWidgetDesign option:selected").text() == "KPI_TwoValue" || $("#ddlWidgetDesign option:selected").text() == "KPI_KPISingleValueWithPercentage" || $("#ddlWidgetDesign option:selected").text() == "KPI_TwoValue_BottomBar_color" || $("#ddlWidgetDesign option:selected").text() == "KPI_TwoValue_BgColor" || $("#ddlWidgetDesign option:selected").text() == "KPI_TwoValue_LineCenter" || $("#ddlWidgetDesign option:selected").text() == "KPI_TwoValue_PieIcon" || $("#ddlWidgetDesign option:selected").text() == "KPI_KPISingleValueWithPercentage_ProgressBar" || $("#ddlWidgetDesign option:selected").text() == "KPI_KPISingleValueWithPercentage_BgColor" || $("#ddlWidgetDesign option:selected").text() == "KPI_KPISingleValueWithPie_Icon") {
  1161. $("#div_Value1").removeClass('hidden');
  1162. $("#div_Value2").removeClass('hidden');
  1163. $("#div_Value3").addClass('hidden');
  1164. $("#ddlSelectedLabelValue_1").parent().removeClass('hidden');
  1165. $("#ddlSelectedLabelValue_2").parent().addClass('hidden');
  1166. $("#ddlSelectedLabelValue_3").parent().addClass('hidden');
  1167. if ($("#ddlWidgetDesign option:selected").text() == "KPI_TwoValue_LineCenter") {
  1168. $("#ddlSelectedLabelValue_1").parent().removeClass('hidden');
  1169. $("#ddlSelectedLabelValue_2").parent().removeClass('hidden');
  1170. $("#ddlSelectedLabelValue_3").parent().addClass('hidden');
  1171. }
  1172. if ($("#ddlWidgetDesign option:selected").text() == "KPI_KPISingleValueWithPercentage_ProgressBar" || $("#ddlWidgetDesign option:selected").text() == "KPI_KPISingleValueWithPercentage_BgColor") {
  1173. $("#ddlSelectedLabelValue_1").parent().addClass('hidden');
  1174. $("#ddlSelectedLabelValue_2").parent().addClass('hidden');
  1175. }
  1176. }
  1177. else if (($("#ddlWidgetDesign option:selected").text()) == "KPI_Comparison" || ($("#ddlWidgetDesign option:selected").text()) == "Kpi_fulfillment" || ($("#ddlWidgetDesign option:selected").text()) == "KPI_ComparisonRightBar_color" || ($("#ddlWidgetDesign option:selected").text()) == "KPI_ComparisonBottomBar_Color") {
  1178. $("#div_Value1").removeClass('hidden');
  1179. $("#div_Value2").removeClass('hidden');
  1180. $("#div_Value3").removeClass('hidden');
  1181. if (($("#ddlWidgetDesign option:selected").text() == "KPI_ComparisonRightBar_color") || ($("#ddlWidgetDesign option:selected").text() == "KPI_ComparisonBottomBar_Color")) {
  1182. $("#ddlSelectedLabelValue_1").parent().removeClass('hidden');
  1183. $("#ddlSelectedLabelValue_2").parent().addClass('hidden');
  1184. $("#ddlSelectedLabelValue_3").parent().addClass('hidden');
  1185. }
  1186. }
  1187. else {
  1188. $("#div_Value1").addClass('hidden');
  1189. $("#div_Value2").addClass('hidden');
  1190. $("#div_Value3").addClass('hidden');
  1191. }
  1192. });
  1193. $("#ddlparametertype").on("change", function () {
  1194. if ($("#ddlparametertype").val() == 1) {
  1195. $("#div_ParameterValue").addClass("hidden");
  1196. $("#div_ParameterValues").removeClass("hidden");
  1197. }
  1198. else {
  1199. $("#div_ParameterValues").addClass("hidden");
  1200. $("#div_ParameterValue").removeClass("hidden");
  1201. }
  1202. });
  1203. $("#ddlColumnConv").on("change", function () {
  1204. if ($("#ddlColumnConv option:selected").val() == 2) {
  1205. $("#div_WidgetColumnConvType").removeClass("hidden");
  1206. $("#ddlColumnConvType").empty();
  1207. $("#ddlColumnConvType").append('<option value="DD/MM/YYYY">DD/MM/YYYY</option><option value="MM/DD/YYYY">MM/DD/YYYYY</option>');
  1208. $("#lblColumnConvType").text("Select Format");
  1209. }
  1210. else if ($("#ddlColumnConv option:selected").val() == 1) {
  1211. $("#div_WidgetColumnConvType").removeClass("hidden");
  1212. $("#ddlColumnConvType").empty();
  1213. $("#ddlColumnConvType").append('<option value="2">2</option><option value="3">3</option>');
  1214. $("#lblColumnConvType").text("Select Digit");
  1215. }
  1216. else if ($("#ddlColumnConv option:selected").val() == 3) {
  1217. $("#div_WidgetColumnConvType").removeClass("hidden");
  1218. $("#ddlColumnConvType").empty();
  1219. $("#ddlColumnConvType").append('<option value="3">3</option>');
  1220. }
  1221. else {
  1222. $("#div_WidgetColumnConvType").addClass("hidden");
  1223. $("#ddlColumnConvType").empty();
  1224. }
  1225. });
  1226. $('#PivotIcon').on("click", function () {
  1227. $('#closed').removeClass('hidden');
  1228. $(this).addClass('d-none');
  1229. ;
  1230. $('.drawer-close.close').addClass('hidden');
  1231. });
  1232. $('#closed').on("click", function () {
  1233. $('#PivotIcon').removeClass('d-none');
  1234. $(this).addClass('hidden');
  1235. $('.drawer-close.close').click();
  1236. });
  1237. $('#txt_WidgetName').on("change", function () {
  1238. let TitleName = $('#txt_WidgetName').val();
  1239. $('.widgetTitleName').text(TitleName);
  1240. $('#hf_kpi_widgetName_2250').text(TitleName);
  1241. });
  1242. $('#ddlLinkReportId').on("change", function () {
  1243. $('#showreport_2250').removeClass('hidden');
  1244. });
  1245. $("#layoutKPI").on("click", function () {
  1246. $('#div_DesignName').addClass('hidden');
  1247. $('#div_WidgetURL').children().addClass('hidden');
  1248. if ($('#ddlReport').val() == 'undefined' || $('#ddlReport').val() == null) {
  1249. $('#ddlReport').addClass('required').removeClass('hidden');
  1250. $('.ReportDiv').removeClass('hidden');
  1251. $('#div_WidgetURL').children().addClass('hidden');
  1252. MessageHelper.Instance().showError("Report Mandatory field is missing", "bizgaze_ValidationSummary");
  1253. $('.layoutType a').find('span.rounded-circle').remove();
  1254. }
  1255. else {
  1256. $('.layoutType a').find('span.rounded-circle').remove();
  1257. let html = '<span class="bg-success mt-180 rounded-circle p-1 position-absolute"><i class="la la-check font-24 text-white"></i></span>';
  1258. $(this).append(html);
  1259. $('#txt_WidgetUrlFile').val("");
  1260. $('.columntab span').text('Columns');
  1261. $('.settings span').text('Settings');
  1262. instance.backOption = 'Mode-1';
  1263. let layoutid = $('#layoutKPI').attr('data-layoutid');
  1264. $("#ddlWidgetLayout").val(layoutid);
  1265. $('#option-back').removeClass('hidden');
  1266. $('#layout-tab').addClass('hidden');
  1267. $('#kpi-design-tab').removeClass('hidden');
  1268. $('#kpi-design-tab').click();
  1269. $('#ddlWidgetLayout').change();
  1270. $("#ddlWidgetDesign").change();
  1271. }
  1272. });
  1273. $("#layoutDetails").on("click", function () {
  1274. $('#div_LinkReportId').parent().addClass('hidden');
  1275. $('#li_WidgetDetaillinkURL').addClass('hidden');
  1276. if ($('#ddlReport').val() == 'undefined' || $('#ddlReport').val() == null) {
  1277. $('#ddlReport').addClass('required').removeClass('hidden');
  1278. $('.ReportDiv').removeClass('hidden');
  1279. $('#div_WidgetURL').children().addClass('hidden');
  1280. MessageHelper.Instance().showError("Report Mandatory field is missing", "bizgaze_ValidationSummary");
  1281. $('.layoutType a').find('span.rounded-circle').remove();
  1282. }
  1283. else {
  1284. instance.backOption = 'Mode-1';
  1285. $('.layoutType a').find('span.rounded-circle').remove();
  1286. let html = '<span class="bg-success mt-180 rounded-circle p-1 position-absolute"><i class="la la-check font-24 text-white"></i></span>';
  1287. $(this).append(html);
  1288. $('.columntab span').text('Columns');
  1289. $('.settings span').text('Settings');
  1290. let layoutid = $('#layoutDetails').attr('data-layoutid');
  1291. $("#ddlWidgetLayout").val(layoutid);
  1292. $('#option-back').removeClass('hidden');
  1293. $('#layout-tab').addClass('hidden');
  1294. $('#kpi-design-tab').removeClass('hidden');
  1295. $('#kpi-design-tab').click();
  1296. $('#ddlWidgetLayout').change();
  1297. $("#ddlWidgetDesign").change();
  1298. }
  1299. });
  1300. $("#layoutChartReport").on("click", function () {
  1301. if ($('#ddlReport').val() == 'undefined' || $('#ddlReport').val() == null) {
  1302. $('#ddlReport').addClass('required').removeClass('hidden');
  1303. $('.ReportDiv').removeClass('hidden');
  1304. $('#div_WidgetURL').children().addClass('hidden');
  1305. $('.layoutType a').find('span.rounded-circle').remove();
  1306. MessageHelper.Instance().showError("Report Mandatory field is missing", "bizgaze_ValidationSummary");
  1307. }
  1308. else {
  1309. instance.backOption = 'Mode-1';
  1310. $('#txt_WidgetUrlFile').val("");
  1311. $('.layoutType a').find('span.rounded-circle').remove();
  1312. let html = '<span class="bg-success mt-180 rounded-circle p-1 position-absolute"><i class="la la-check font-24 text-white"></i></span>';
  1313. $(this).append(html);
  1314. $('.div_DesignName').addClass('hidden');
  1315. $('#div_WidgetURL').children().addClass('hidden');
  1316. let layoutid = $('#layoutChartReport').attr('data-layoutid');
  1317. $("#ddlWidgetLayout").val(layoutid);
  1318. $('#option-back').removeClass('hidden');
  1319. $('#layout-tab').addClass('hidden');
  1320. $('#kpi-design-tab').removeClass('hidden');
  1321. $('#kpi-design-tab').click();
  1322. $('#ddlWidgetLayout').change();
  1323. $("#ddlWidgetDesign").change();
  1324. }
  1325. });
  1326. $("#layoutUserDesigned").on("click", function () {
  1327. $('#txt_WidgetUrlFile').addClass('required').removeClass('hidden').parent().removeClass('hidden');
  1328. $('#ddlReport').removeClass('required');
  1329. $('.ReportDiv').addClass('hidden');
  1330. $('#li_WidgetDetaillinkURL').addClass('hidden');
  1331. $('#div_LinkReportId').parent().addClass('hidden');
  1332. if ($('#txt_WidgetUrlFile').val() == "") {
  1333. $('.userDesignedURL').removeClass('hidden');
  1334. $('.layoutType a').find('span.rounded-circle').remove();
  1335. MessageHelper.Instance().showError("Please Enter Widget URL Mandatory fields", "bizgaze_ValidationSummary");
  1336. }
  1337. else {
  1338. $('.layoutType a').find('span.rounded-circle').remove();
  1339. let html = '<span class="bg-success mt-180 rounded-circle p-1 position-absolute"><i class="la la-check font-24 text-white"></i></span>';
  1340. $(this).append(html);
  1341. instance.backOption = 'Mode-1';
  1342. $('.columntab span').text('Columns');
  1343. $('.settings span').text('Settings');
  1344. let layoutid = $('#layoutUserDesigned').attr('data-layoutid');
  1345. $("#ddlWidgetLayout").val(layoutid);
  1346. $("#ddlWidgetDesign").removeClass('required');
  1347. $('#kpi-design-tab').parent().addClass('hidden');
  1348. $('#kpiiconstyle').parent().addClass('hidden');
  1349. $("#layout-tab").addClass('hidden');
  1350. $('#option-back').removeClass('hidden');
  1351. $('.userDesignedURL').removeClass('hidden');
  1352. $('#ddlheight').removeClass('required');
  1353. $('#Preview-Designs').removeClass('hidden').click();
  1354. instance.CreateWidgetPreview();
  1355. }
  1356. });
  1357. $("#option-back").on("click", function () {
  1358. $('#biz-wrapper').removeClass('biz-drawer-pushright');
  1359. $('#drawer_push').removeClass('biz-drawer-toggle');
  1360. if (instance.backOption == 'Mode-1') {
  1361. instance.backOption = '';
  1362. $(this).addClass('hidden');
  1363. $('#layout-tab').removeClass('hidden');
  1364. $('#layout-tab').click();
  1365. $('#kpi-design-tab').addClass('hidden');
  1366. $('#Preview-Designs').addClass('hidden');
  1367. }
  1368. if (instance.backOption == 'Mode-2') {
  1369. instance.backOption = 'Mode-1';
  1370. $('.designsPreviewAppend .kpi_card_class_2250').remove();
  1371. $('.static_js_hidden, #tab_static_js').removeClass('active show').addClass('hidden');
  1372. $('#option-back').removeClass('hidden');
  1373. $('#Preview-Designs').addClass('hidden');
  1374. $('#kpi-design-tab').removeClass('hidden');
  1375. $('#kpi-design-tab').click();
  1376. let defaultMode = instance.defautSettings.filter(function (o) { return o.widgetdesignid === 20210628; });
  1377. defaultMode[0].defaultMode = 'create';
  1378. $('#frmUnibase_widgetBuilderAppearance').trigger("reset");
  1379. }
  1380. });
  1381. $('#detailCustomDesign').on("click", function () {
  1382. $(this).addClass('hidden');
  1383. $('#staticJsTab').addClass('hidden');
  1384. $('#Preview-Designs').removeClass('hidden').click();
  1385. instance.CreateWidgetPreview();
  1386. });
  1387. $("#font-size").on("change", function () {
  1388. $('.textProperty_2250').css("fontSize", $(this).val() + "px");
  1389. if ($("#ddlWidgetDesign option:selected").text() == "Details_Double_Column" || $("#ddlWidgetDesign option:selected").text() == "Details_Single_Column" || $("#ddlWidgetDesign option:selected").text() == "Details_SingleData" || $("#ddlWidgetDesign option:selected").text() == "Details_Single_Column_NoBorder") {
  1390. $('.detailProperty_2250').css({ "fontSize": $(this).val() + "px" });
  1391. }
  1392. if ($("#ddlWidgetDesign option:selected").text() == "KPI_CarouselSliderBgColor") {
  1393. $('.textPropertyOwl_').css("fontSize", $(this).val() + "px");
  1394. }
  1395. });
  1396. $("#font-style").on("change", function () {
  1397. $('.textProperty_2250').css("font-family", $(this).val() + '');
  1398. if ($("#ddlWidgetDesign option:selected").text() == "Details_Double_Column" || $("#ddlWidgetDesign option:selected").text() == "Details_Single_Column" || $("#ddlWidgetDesign option:selected").text() == "Details_SingleData" || $("#ddlWidgetDesign option:selected").text() == "Details_Single_Column_NoBorder") {
  1399. $('.detailProperty_2250').css({ "font-family": $(this).val() + '' });
  1400. }
  1401. });
  1402. $("#border-width").on("change", function () {
  1403. $('.kpi_card_class_2250').css("border-width", $(this).val() + '');
  1404. if ($("#ddlWidgetDesign option:selected").text() == "Details_Double_Column" || $("#ddlWidgetDesign option:selected").text() == "Details_Single_Column" || $("#ddlWidgetDesign option:selected").text() == "Details_SingleData" || $("#ddlWidgetDesign option:selected").text() == "Details_Single_Column_NoBorder") {
  1405. $('.detailProperty_2250').css({ "border-top": $('#border-width').val() + ' ' + $("#border-type").val() + ' ' + $("#border-color").val() });
  1406. }
  1407. if ($("#ddlWidgetDesign option:selected").text() == "KPI_KPISingleValueWithborder") {
  1408. $('.kpi_card_class_2250').css({ "border-bottom": "10px solid" + $("#border-color").val() });
  1409. $('.kpi_card_class_2250').css({ "border": $('#border-width').val() + ' ' + $("#border-type").val() + ' ' + $("#border-color").val() });
  1410. }
  1411. if ($("#ddlWidgetDesign option:selected").text() == "KPI_Left_Bar_color_Icon") {
  1412. $('.kpi-card-left_2250').css({ "border": $('#border-width').val() + ' ' + $("#border-type").val() + ' ' + $("#border-color").val(), "border-radius": $('#border-radius').val() + " 0px 0px " + $('#border-radius').val() });
  1413. $('.kpi-card-right_2250').css({ "border": $('#border-width').val() + ' ' + $("#border-type").val() + ' ' + $("#border-color").val(), "border-radius": "0px " + $('#border-radius').val() + " " + $('#border-radius').val() + " 0px" });
  1414. }
  1415. });
  1416. $("#border-type").on("change", function () {
  1417. $('.kpi_card_class_2250').css("border-style", $(this).val() + '');
  1418. if ($("#ddlWidgetDesign option:selected").text() == "Details_Double_Column" || $("#ddlWidgetDesign option:selected").text() == "Details_Single_Column" || $("#ddlWidgetDesign option:selected").text() == "Details_SingleData" || $("#ddlWidgetDesign option:selected").text() == "Details_Single_Column_NoBorder") {
  1419. $('.detailProperty_2250').css({ "border-top": $('#border-width').val() + ' ' + $("#border-type").val() + ' ' + $("#border-color").val() });
  1420. }
  1421. if ($("#ddlWidgetDesign option:selected").text() == "KPI_KPISingleValueWithborder") {
  1422. $('.kpi_card_class_2250').css({ "border": $('#border-width').val() + ' ' + $("#border-type").val() + ' ' + $("#border-color").val() });
  1423. $('.kpi_card_class_2250').css({ "border-bottom": "10px solid" + $("#border-color").val() });
  1424. }
  1425. if ($("#ddlWidgetDesign option:selected").text() == "KPI_Left_Bar_color_Icon") {
  1426. $('.kpi-card-left_2250').css({ "border": $('#border-width').val() + ' ' + $("#border-type").val() + ' ' + $("#border-color").val(), "border-radius": $('#border-radius').val() + " 0px 0px " + $('#border-radius').val() });
  1427. $('.kpi-card-right_2250').css({ "border": $('#border-width').val() + ' ' + $("#border-type").val() + ' ' + $("#border-color").val(), "border-radius": "0px " + $('#border-radius').val() + " " + $('#border-radius').val() + " 0px" });
  1428. }
  1429. });
  1430. $("#ddlheight").on("change", function () {
  1431. var calheight1, calheight2, height;
  1432. $('.kpi_card_class_2250').css("height", $(this).val() + '');
  1433. if ($("#ddlWidgetDesign option:selected").text() == "KPI_TwoValue_BottomBar_color" || $("#ddlWidgetDesign option:selected").text() == "KPI_ComparisonBottomBar_Color") {
  1434. height = $(this).val();
  1435. height = parseInt(height.replace(/px/g, ''));
  1436. calheight1 = height * 0.66;
  1437. calheight1 = parseInt(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(calheight1, 0));
  1438. calheight2 = height - calheight1;
  1439. $('.kpi_card_class_2250').find('[data-height="height1"]').css("height", calheight1 + 'px');
  1440. $('.kpi_card_class_2250').find('[data-height="height2"]').css("height", calheight2 + 'px');
  1441. }
  1442. });
  1443. $("#border-radius").on("change", function () {
  1444. $('.kpi_card_class_2250').css("border-radius", $(this).val() + '');
  1445. if ($("#ddlWidgetDesign option:selected").text() == "KPI_Left_Bar_color_Icon" || $("#ddlWidgetDesign option:selected").text() == "KPI_ComparisonRightBar_color") {
  1446. $('.bgcolorset_2250').css("border-radius", $(this).val() + ' 0px 0px ' + $(this).val());
  1447. }
  1448. if ($("#ddlWidgetDesign option:selected").text() == "KPI_ComparisonRightBar_color") {
  1449. $('.bgcolorset_2250').css("border-radius", '0px ' + $(this).val() + ' ' + $(this).val() + ' 0px');
  1450. }
  1451. if ($("#ddlWidgetDesign option:selected").text() == "KPI_TwoValue_BottomBar_color") {
  1452. $('.color_2250').css("border-radius", ' 0px 0px ' + $(this).val() + ' ' + $(this).val());
  1453. }
  1454. if ($("#ddlWidgetDesign option:selected").text() == "KPI_Left_Bar_color_Icon") {
  1455. $('.kpi-card-left_2250').css({ "border-radius": $('#border-radius').val() + " 0px 0px " + $('#border-radius').val() });
  1456. $('.kpi-card-right_2250').css({ "border-radius": "0px " + $('#border-radius').val() + " " + $('#border-radius').val() + " 0px" });
  1457. }
  1458. });
  1459. $("#ddlReport").on("change", function () {
  1460. $('#header_Report_name').text($("#ddlReport :selected").text());
  1461. var EditMode = instance.defautSettings.filter(function (o) { return o.widgetdesignid === 20210628; });
  1462. if (EditMode[0].mode == 'Create_Mode') {
  1463. $('#ulcolumns').empty();
  1464. $('#widget_details_2250_col').empty();
  1465. $('#widget_details_2250_col1').empty();
  1466. $('#widget_details_2250_col2').empty();
  1467. instance.getReportColumns(false);
  1468. }
  1469. });
  1470. $("#ddlWidgetDesign").on("change", function () {
  1471. if ($('#ddlReport option:selected').val() == undefined) {
  1472. alert('Please select Report Id');
  1473. }
  1474. else {
  1475. var EditMode = instance.defautSettings.filter(function (o) { return o.widgetdesignid === 20210628; });
  1476. if (EditMode[0].mode == 'Create_Mode') {
  1477. }
  1478. }
  1479. });
  1480. $('#ddlSelectedValue_1').on("change", function () {
  1481. var EditMode = instance.defautSettings.filter(function (o) { return o.widgetdesignid === 20210628; });
  1482. if (EditMode[0].mode == 'Create_Mode') {
  1483. Widget.Instance().CreateWidgetPreview();
  1484. }
  1485. });
  1486. $('#ddlSelectedValue_2').on("change", function () {
  1487. var EditMode = instance.defautSettings.filter(function (o) { return o.widgetdesignid === 20210628; });
  1488. if (EditMode[0].mode == 'Create_Mode') {
  1489. Widget.Instance().CreateWidgetPreview();
  1490. }
  1491. });
  1492. $('#ddlSelectedValue_3').on("change", function () {
  1493. var EditMode = instance.defautSettings.filter(function (o) { return o.widgetdesignid === 20210628; });
  1494. if (EditMode[0].mode == 'Create_Mode') {
  1495. Widget.Instance().CreateWidgetPreview();
  1496. }
  1497. });
  1498. $('#ddlSelectedLabelValue_1').on("change", function () {
  1499. var EditMode = instance.defautSettings.filter(function (o) { return o.widgetdesignid === 20210628; });
  1500. if (EditMode[0].mode == 'Create_Mode') {
  1501. Widget.Instance().CreateWidgetPreview();
  1502. }
  1503. });
  1504. $('#ddlSelectedLabelValue_2').on("change", function () {
  1505. var EditMode = instance.defautSettings.filter(function (o) { return o.widgetdesignid === 20210628; });
  1506. if (EditMode[0].mode == 'Create_Mode') {
  1507. Widget.Instance().CreateWidgetPreview();
  1508. }
  1509. });
  1510. $('#ddlSelectedLabelValue_3').on("change", function () {
  1511. var EditMode = instance.defautSettings.filter(function (o) { return o.widgetdesignid === 20210628; });
  1512. if (EditMode[0].mode == 'Create_Mode') {
  1513. Widget.Instance().CreateWidgetPreview();
  1514. }
  1515. });
  1516. $("#border-type-details").on("change", function () {
  1517. $('#widget_details_2250').css({
  1518. "border": $('#border-width-details').val() + ' ' + $("#border-type-details").val() + ' ' + $("#border-color-details").val()
  1519. });
  1520. });
  1521. $("#border-width-details").on("change", function () {
  1522. $('#widget_details_2250').css({
  1523. "border": $('#border-width-details').val() + ' ' + $("#border-type-details").val() + ' ' + $("#border-color-details").val()
  1524. });
  1525. });
  1526. $("#border-radius-details").on("change", function () {
  1527. $('#widget_details_2250').css({ "border-radius": $('#border-radius-details').val() + '' });
  1528. });
  1529. $('#list-style-type').on("change", function () {
  1530. $('.widget_details_item2250_col1').css({ 'list-style-type': $(this).val() + '' });
  1531. $('.widget_details_item2250_col2').css({ 'list-style-type': $(this).val() + '' });
  1532. $('.detailProperty_2250').css({ 'list-style-type': $(this).val() + '' });
  1533. });
  1534. let pickerElements = [
  1535. { id: "#backgroundcolor-color-picker", class: "backgroundcolor-color-picker" },
  1536. { id: "#border-color", class: "border-color" },
  1537. { id: "#border-color-details", class: "details-border-color" },
  1538. ];
  1539. pickerElements.forEach((el) => {
  1540. let element = $(el.id);
  1541. let palette = [
  1542. ["#000", "#444", "#666", "#999", "#ccc", "#eee", "#f3f3f3", "#fff"],
  1543. ["#f00", "#f90", "#ff0", "#0f0", "#0ff", "#00f", "#90f", "#f0f"],
  1544. ["#f4cccc", "#fce5cd", "#fff2cc", "#d9ead3", "#d0e0e3", "#cfe2f3", "#d9d2e9", "#ead1dc"],
  1545. ["#ea9999", "#f9cb9c", "#ffe599", "#b6d7a8", "#a2c4c9", "#9fc5e8", "#b4a7d6", "#d5a6bd"],
  1546. ["#e06666", "#f6b26b", "#ffd966", "#93c47d", "#76a5af", "#6fa8dc", "#8e7cc3", "#c27ba0"],
  1547. ["#c00", "#e69138", "#f1c232", "#6aa84f", "#45818e", "#3d85c6", "#674ea7", "#a64d79"],
  1548. ["#900", "#b45f06", "#bf9000", "#38761d", "#134f5c", "#0b5394", "#351c75", "#741b47"],
  1549. ["#600", "#783f04", "#7f6000", "#274e13", "#0c343d", "#073763", "#20124d", "#4c1130"]
  1550. ];
  1551. if (el.id === '#backgroundcolor-color-picker' && instance.themePaletteId) {
  1552. instance.initializeColorPicker(element, el.class, instance.themePalette, true, 'more');
  1553. }
  1554. else {
  1555. instance.initializeColorPicker(element, el.class, palette, false, false);
  1556. }
  1557. });
  1558. $("#ulcolumns").sortable({
  1559. update: function () {
  1560. Unibase.Platform.Widgets.Components.Widget.Instance().bindReportColumnOnSortable();
  1561. }
  1562. });
  1563. }
  1564. initializeColorPicker(element, elClass, palette, showPaletteOnly, togglePaletteOnly) {
  1565. const instance = this;
  1566. element.spectrum({
  1567. color: "yellow",
  1568. type: "color",
  1569. showInput: true,
  1570. maxSelectionSize: 1,
  1571. showInitial: true,
  1572. allowEmpty: false,
  1573. showAlpha: false,
  1574. disabled: false,
  1575. localStorageKey: false,
  1576. showPaletteOnly: showPaletteOnly,
  1577. togglePaletteOnly: togglePaletteOnly,
  1578. clickoutFiresChange: true,
  1579. containerClassName: elClass,
  1580. replacerClassName: elClass,
  1581. showPalette: true,
  1582. palette: palette,
  1583. showSelectionPalette: true,
  1584. selectionPalette: ["red", "green", "blue"],
  1585. locale: 'fr',
  1586. togglePaletteMoreText: 'More',
  1587. togglePaletteLessText: 'Less',
  1588. clearText: "",
  1589. noColorSelectedText: "",
  1590. showButtons: true,
  1591. chooseText: "Choose",
  1592. cancelText: "Close",
  1593. move: function (color) {
  1594. let convertedColor = "#" + color.toHex();
  1595. let id = $(this).attr('id');
  1596. if (id == "backgroundcolor-color-picker") {
  1597. instance.addBackgroundColor(convertedColor);
  1598. }
  1599. if (id == "border-color") {
  1600. instance.addBorderColor(convertedColor);
  1601. }
  1602. if (id == "border-color-details") {
  1603. instance.addDetailsColor(convertedColor);
  1604. }
  1605. },
  1606. hide: function (color) {
  1607. $(this).trigger('change');
  1608. }
  1609. });
  1610. }
  1611. addBorderColor(color) {
  1612. $('.kpi_card_class_2250').css("border-color", color);
  1613. if ($("#ddlWidgetDesign option:selected").text() == "Details_Double_Column" || $("#ddlWidgetDesign option:selected").text() == "Details_Single_Column" || $("#ddlWidgetDesign option:selected").text() == "Details_SingleData" || $("#ddlWidgetDesign option:selected").text() == "Details_Single_Column_NoBorder") {
  1614. $('.detailProperty_2250').css({ "border-top": $('#border-width').val() + ' ' + $("#border-type").val() + ' ' + color });
  1615. }
  1616. if ($("#ddlWidgetDesign option:selected").text() == "KPI_KPISingleValueWithborder") {
  1617. $('.kpi_card_class_2250').css({ "border": $('#border-width').val() + ' ' + $("#border-type").val() + ' ' + color });
  1618. $('.kpi_card_class_2250').css({ "border-bottom": "10px solid" + color });
  1619. }
  1620. if ($("#ddlWidgetDesign option:selected").text() == "KPI_Left_Bar_color_Icon") {
  1621. $('.kpi-card-left_2250').css({ "border": $('#border-width').val() + ' ' + $("#border-type").val() + ' ' + $("#border-color").val(), "border-radius": $('#border-radius').val() + " 0px 0px " + $('#border-radius').val() });
  1622. $('.kpi-card-right_2250').css({ "border": $('#border-width').val() + ' ' + $("#border-type").val() + ' ' + $("#border-color").val(), "border-radius": "0px " + $('#border-radius').val() + " " + $('#border-radius').val() + " 0px" });
  1623. }
  1624. }
  1625. addBackgroundColor(convertedColor) {
  1626. $('#backgroundcolor').css("background-color", convertedColor);
  1627. $('#backgroundcolor').attr("data-backgroundcolor", convertedColor);
  1628. $('.bgcolorset_2250').css("background-color", convertedColor);
  1629. if ($("#ddlWidgetDesign option:selected").text() == "KPI_TwoValue_LineCenter") {
  1630. $('.kpi_card_class_2250').css("background-color", convertedColor);
  1631. }
  1632. if ($("#ddlWidgetDesign option:selected").text() == "Details_Double_Column" || $("#ddlWidgetDesign option:selected").text() == "Details_Single_Column" || $("#ddlWidgetDesign option:selected").text() == "Details_SingleData" || $("#ddlWidgetDesign option:selected").text() == "Details_Single_Column_NoBorder") {
  1633. $('#widget_details_2250').css({ "background-color": convertedColor });
  1634. $('.detailProperty_2250').css({ "background-color": convertedColor });
  1635. }
  1636. if ($("#ddlWidgetDesign option:selected").text() == "KPI_Icon_Bg_Color") {
  1637. $('.textProperty_2250').css("color", convertedColor);
  1638. }
  1639. }
  1640. addDetailsColor(bordercolor) {
  1641. $('#widget_details_2250').css({
  1642. "border": $('#border-width-details').val() + ' ' + $("#border-type-details").val() + ' ' + bordercolor
  1643. });
  1644. }
  1645. CreateWidgetPreview() {
  1646. var instance = this;
  1647. let widgetDesignIDcreate = $('#ddlWidgetDesign option:selected').text();
  1648. var CreateWidget = [], previewResponse, result;
  1649. var parameters = {
  1650. WidgetId: 0,
  1651. PortletWidgetId: 0,
  1652. InstalledAppId: 0,
  1653. ReportId: Number($('#ddlReport').val()),
  1654. InputParameters: []
  1655. };
  1656. let TitleName, DetailWidgetPropertiesRes = [];
  1657. if ($('#txt_WidgetName').val() == '') {
  1658. TitleName = "Widget Name";
  1659. }
  1660. else {
  1661. TitleName = $('#txt_WidgetName').val();
  1662. }
  1663. CreateWidget.push({ "WidgetName": TitleName, "PortletWidgetId": 2250 });
  1664. let default_Settings = instance.defautSettings.filter(function (o) { return o.WidgetDesignName === widgetDesignIDcreate; });
  1665. let defaultMode = instance.defautSettings.filter(function (o) { return o.widgetdesignid === 20210628; });
  1666. if ($('.designsPreviewAppend .kpi_card_class_2250').length == 0) {
  1667. let { FontSize, FontStyle, BorderType, BorderWidth, BorderColor, BorderRadius, KpiHeight, BackgroundColor } = JSON.parse(default_Settings[0].defaultsettings);
  1668. if (instance.themePaletteId) {
  1669. BackgroundColor = instance.themePalette[Math.floor(Math.random() * instance.themePalette.length)];
  1670. }
  1671. if ($('#ddlWidgetLayout option:selected').text() === 'Detail') {
  1672. BackgroundColor = '#fff';
  1673. }
  1674. $("#font-size").val(FontSize);
  1675. $("#font-style").val(FontStyle);
  1676. $("#border-type").val(BorderType);
  1677. $("#border-width").val(BorderWidth);
  1678. $("#border-color").val(BorderColor).trigger('change');
  1679. $("#border-radius").val(BorderRadius);
  1680. let height = KpiHeight;
  1681. $("#ddlheight").val(height.replace(/px/g, ''));
  1682. $("#backgroundcolor-color-picker").val(BackgroundColor).trigger('change');
  1683. $("#backgroundcolor").css({ 'background-color': BackgroundColor }).attr('data-backgroundcolor', BackgroundColor);
  1684. ;
  1685. }
  1686. var CssPropertyCreate = [];
  1687. CssPropertyCreate = [{
  1688. "BorderWidth": $('#border-width').val(),
  1689. "BorderColor": $('#border-color').val(),
  1690. "BorderType": $('#border-type').val(),
  1691. "BorderRadius": $('#border-radius').val(),
  1692. "FontSize": $('#font-size').val(),
  1693. "FontFamily": $('#font-style').val(),
  1694. "BackgroundColor": $('#backgroundcolor').attr('data-backgroundcolor'),
  1695. "ListStyleType": $('#list-style-type').val(),
  1696. "DetailsBorderType": $('#border-type-details').val(),
  1697. "DetailsBorderWidth": $('#border-width-details').val(),
  1698. "DetailsBorderColor": $('#border-color-details').val(),
  1699. "DetailsBorderRadius": $('#border-radius-details').val(),
  1700. "ReportCollapase": $('#report_collapase').prop("checked")
  1701. }];
  1702. if ($('#ddlWidgetLayout option:selected').text() == "KPI") {
  1703. Unibase.Platform.Widgets.Managers.WidgetManager.Instance().getKpiPreviewData(parameters.ReportId).then(function (response) {
  1704. var viewertype = instance.defautSettings.filter(function (o) { return o.WidgetDesignName === widgetDesignIDcreate; });
  1705. let _Data = '';
  1706. if (response.result != null) {
  1707. _Data = response.result.Data;
  1708. }
  1709. if (response.result == null) {
  1710. MessageHelper.Instance().showError("Report is Inactive Mode " + response.message, "bizgaze_ValidationSummary");
  1711. }
  1712. var classname = JSON.parse(viewertype[0].defaultsettings).classname;
  1713. let KpiSettings = [{
  1714. "DataType": $('#kpidataType_1 option:selected').val() + "," + $('#kpidataType_2 option:selected').val() + "," + $('#kpidataType_3 option:selected').val(),
  1715. "IsRoundOff": $('#kpi_isroundoff_1[type=checkbox]').is(':checked') + "," + $('#kpi_isroundoff_2[type=checkbox]').is(':checked') + "," + $('#kpi_isroundoff_3[type=checkbox]').is(':checked')
  1716. }];
  1717. result = {
  1718. AppConfigurations: [],
  1719. CssProperty: JSON.stringify(CssPropertyCreate),
  1720. Data: _Data,
  1721. Icon: instance.imageSrc,
  1722. IsMaximize: false,
  1723. KpiHeight: $("#ddlheight").val() + 'px',
  1724. LinkReportId: $('#ddlLinkReportId :selected').val(),
  1725. LinkUrl: $('#txt_DetaillinkURL').val(),
  1726. ReportId: $('#ddlReport :selected').val(),
  1727. ReportName: $('#ddlReport :selected').text(),
  1728. Selected_Columns: $('#ddlSelectedValue_1 :selected').text() + ',' + $('#ddlSelectedValue_2 :selected').text() + ',' + $('#ddlSelectedValue_3 :selected').text(),
  1729. Selected_Columns_Labels: $('#ddlSelectedLabelValue_1').val() + ',' + $('#ddlSelectedLabelValue_2').val() + ',' + $('#ddlSelectedLabelValue_3').val(),
  1730. Js: 'Unibase.Themes.Compact.KpiWidgets.' + classname + '.Instance()',
  1731. JsPath: '',
  1732. KpiSetting: JSON.stringify(KpiSettings)
  1733. };
  1734. previewResponse = { result };
  1735. var viewerComponent = new Unibase.Themes.Compact.KpiWidgets[classname]();
  1736. var html = viewerComponent.html(CreateWidget, 0);
  1737. $('#designsPreviewAppend').html(html);
  1738. if (classname == 'Kpi_fulfillment') {
  1739. Unibase.Platform.Widgets.Components._Widget.Instance().KpiCode();
  1740. }
  1741. viewerComponent.loadData(2250, "designsPreviewAppend", parameters, false, previewResponse);
  1742. });
  1743. }
  1744. if ($('#ddlWidgetDesign option:selected').text() != "Select Widget Design") {
  1745. if ($('#ddlWidgetLayout option:selected').text() == "Report") {
  1746. let ReportIdPreview = $('#ddlReport option:selected').val();
  1747. $('#designsPreviewAppend').empty();
  1748. var obj = Unibase.Platform.Analytics.Components.ReportViewer.Instance();
  1749. setTimeout(function () {
  1750. instance.navigationHelper.popin(Number(ReportIdPreview), 'designsPreviewAppend', obj, null);
  1751. $('.nav-link.reportview-remove-none').removeClass('d-none');
  1752. }, 200);
  1753. }
  1754. }
  1755. if ($('#ddlWidgetLayout option:selected').text() == "User Designed") {
  1756. let widgeturl = [];
  1757. $('#biz-wrapper').addClass('biz-drawer-pushright');
  1758. $('#drawer_push').addClass('biz-drawer-toggle');
  1759. widgeturl = $('#txt_WidgetUrlFile').val().toString().split(',');
  1760. $('#designsPreviewAppend').empty();
  1761. var viewerComponent = widgeturl[1] + ".init('designsPreviewAppend')";
  1762. instance.fileCacheHelper.loadJsFile(widgeturl[0], function () {
  1763. eval(viewerComponent);
  1764. });
  1765. }
  1766. if ($('#ddlWidgetLayout option:selected').text() == 'Detail') {
  1767. if ($('#ulcolumns li').length != 0) {
  1768. for (var i = 1; i <= $('#ulcolumns li').length; i++) {
  1769. let DetailWidgetPropertiesData = {
  1770. "ConverterType": "", "ConverterValue": "", "DetailWidgetId": 0,
  1771. "DetailsWidgetPropertyId": $('#columnId_' + i).find('#row0').text(), "HyperLink": $('#columnId_' + i).find('#row4').text(), "Label": $('#columnId_' + i).find('#row3').text(), "PropertyIndex": 0, "Value": '{{' + $('#columnId_' + i).find('#row1').text() + '}}'
  1772. };
  1773. DetailWidgetPropertiesRes.push(DetailWidgetPropertiesData);
  1774. }
  1775. }
  1776. Unibase.Platform.Widgets.Managers.WidgetManager.Instance().getPreviewDetailWidgetData(parameters).then(function (response) {
  1777. result = {
  1778. AppConfiguration: {
  1779. "AppConfigType": 0, "AppConfigurationId": 0, "AppPermissionId": 0, "AppUniqueId": "", "Description": "", "DynamicJs": "", "FormAppTitle": "", "FormId": 0, "FormInstalledAppId": 0, "FormPrimaryColumn": null, "InstalledAppId": 0, "InstalledAppGuid": 0, "PropertyIndex": 0, "Permission": 0, "PermissionName": null, "SettingDesignHtml": null, "SettingName": null, "SettingUrl": null, "SettingUrlType": 0, "StageId": 0, "StageName": null, "StatusId": 0, "StatusName": null, "SystemName": null, "TenantId": 0, "Ungrouped": false, "UniqueId": null, "VersionGuid": null, "WidgetId": 0
  1780. },
  1781. CssProperty: JSON.stringify(CssPropertyCreate),
  1782. Data: response.result.Data,
  1783. DetailWidgetProperties: DetailWidgetPropertiesRes,
  1784. Icon: '',
  1785. Js: "",
  1786. LinkUrl: $('#txt_DetaillinkURL').val(),
  1787. WidgetName: TitleName,
  1788. };
  1789. previewResponse = { result };
  1790. var viewertype = instance.defautSettings.filter(function (o) { return o.WidgetDesignName === widgetDesignIDcreate; });
  1791. var default_Settings = instance.defautSettings.filter(function (o) { return o.WidgetDesignName === widgetDesignIDcreate; });
  1792. if (default_Settings[0].count == 0) {
  1793. $("#font-size").val(JSON.parse(default_Settings[0].defaultsettings).FontSize);
  1794. $("#font-style").val(JSON.parse(default_Settings[0].defaultsettings).FontStyle);
  1795. $("#border-type").val(JSON.parse(default_Settings[0].defaultsettings).BorderType);
  1796. $("#border-width").val(JSON.parse(default_Settings[0].defaultsettings).BorderWidth);
  1797. $("#border-color").val(JSON.parse(default_Settings[0].defaultsettings).BackgroundColor).trigger('change');
  1798. $("#backgroundcolor-color-picker").val(JSON.parse(default_Settings[0].defaultsettings).BorderColor).trigger('change');
  1799. $("#border-radius").val(JSON.parse(default_Settings[0].defaultsettings).BorderRadius);
  1800. $("#ddlheight").val(JSON.parse(default_Settings[0].defaultsettings).KpiHeight);
  1801. $("#backgroundcolor").css({ 'background-color': JSON.parse(default_Settings[0].defaultsettings).BackgroundColor });
  1802. $('#backgroundcolor').attr('data-backgroundcolor', JSON.parse(default_Settings[0].defaultsettings).BackgroundColor);
  1803. JSON.parse(default_Settings[0].defaultsettings).count++;
  1804. }
  1805. let report_id = Number($('#ddlReport option:selected').val());
  1806. let obj = [];
  1807. let staticjspath = $(".summernote_StaticJsFunction").val().toString();
  1808. if (widgetDesignIDcreate == "Details_Custom") {
  1809. obj.push({ "DetailContainerId": "", "InstalledAppId": 0, "PortletWidgetId": 2250, "ReportId": report_id, "StaticJsPath": staticjspath, "WidgetId": 0, "WidgetName": TitleName, "WidgetParameters": "" });
  1810. var classnameC = JSON.parse(viewertype[0].defaultsettings).classname;
  1811. var viewerComponentC = new Unibase.Themes.Compact.DetailWidgets[classnameC]();
  1812. var htmlC = viewerComponentC.html(obj, 'containerId', null);
  1813. $('#designsPreviewAppend').html(htmlC);
  1814. viewerComponentC.loadData(obj, 'containerId', null);
  1815. }
  1816. else {
  1817. var classname = JSON.parse(viewertype[0].defaultsettings).classname;
  1818. var viewerComponent = new Unibase.Themes.Compact.DetailWidgets[classname]();
  1819. var html = viewerComponent.html(CreateWidget, 0);
  1820. $('#designsPreviewAppend').html(html);
  1821. viewerComponent.loadData(2250, "designsPreviewAppend", parameters, false, previewResponse);
  1822. }
  1823. });
  1824. }
  1825. }
  1826. loadportlet() {
  1827. Unibase.Themes.Compact.Components.Details.Instance().isPortletEdit = false;
  1828. Unibase.Themes.Compact.Components.Details.Instance().isPortletModified = false;
  1829. Unibase.Platform.Widgets.WidgetHiddenFields.Instance().NewWidgetsForPortlet = [];
  1830. Unibase.Platform.Widgets.WidgetHiddenFields.Instance().Portlets = [];
  1831. Unibase.Platform.Widgets.WidgetHiddenFields.Instance().NewWidgets = [];
  1832. Unibase.Platform.Widgets.WidgetHiddenFields.Instance().SelectedWidgets = [];
  1833. Unibase.Platform.Widgets.WidgetHiddenFields.Instance().deleteWidget = [];
  1834. Unibase.Platform.Widgets.WidgetHiddenFields.Instance().editWidget = [];
  1835. Unibase.Platform.Widgets.Components.Widget.Instance().items = '';
  1836. let installedappid = Unibase.Themes.Providers.DetailHelper.installedAppId;
  1837. const containerId = Unibase.Platform.Helpers.NavigationHelper.Instance().getLastContainerId();
  1838. const containerEl = $(`#${containerId}`);
  1839. $("#bizgaze_body").find("nav.hk-nav.biz-layout-3-left-nav").css({ "z-index": '1040' });
  1840. $(".toplayout-structures-panel").removeClass("nav_2_layout");
  1841. $(".biz-layout-3-left-nav").removeClass("nav_3_layout");
  1842. $(".biz-submenu").removeClass("nav_sub_layout");
  1843. containerEl.find("#addWidgetContainer").addClass("hidden");
  1844. $(".biz-wrapper,.hk-wrapper").removeClass("edit-portlet-mode");
  1845. containerEl.find("#details-edit-header").removeClass('d-flex').addClass('d-none');
  1846. containerEl.find(".portlet-detail-header").removeClass('d-none').addClass("d-flex");
  1847. $(".navbar-nav-wrap").removeClass('hidden');
  1848. $('.biz-submenu .header-wth-search').removeClass('hidden');
  1849. $("#nav-widgets-container").addClass('hidden');
  1850. containerEl.find(".EditPortlets").removeClass('hidden');
  1851. containerEl.find(".Detail_Configurations").removeClass('hidden');
  1852. containerEl.find(".Border").removeClass('card');
  1853. containerEl.find(".Border1").removeClass('card-header').addClass('hidden');
  1854. containerEl.find(".indexcardfooter").addClass('hidden');
  1855. containerEl.find(".dashboardwidget-container").css({ "margin-bottom": "0px", "padding-bottom": "0px" });
  1856. $(".nav-dashboards-container").removeClass("hidden");
  1857. $('._bizgaze_detail_container').css({ "top": "0px" });
  1858. $(".biz-main-menu").removeClass("hidden");
  1859. let submenuLeft = '', submenuWidth = '';
  1860. if ($('.biz-wrapper').hasClass('biz-main-menu-hidden'))
  1861. submenuLeft = '0', submenuWidth = '240px';
  1862. $(".biz-submenu").css({ "left": `${submenuLeft}`, "width": `${submenuWidth}`, "top": "", "background": "", "z-index": '' });
  1863. $(".biz-submenu .navbar-brand ").removeClass("hidden");
  1864. containerEl.find("#widgetEdit-" + $("#hf_widgetId").val() + "").addClass('hidden');
  1865. containerEl.find("#EditChanges").addClass("hidden");
  1866. containerEl.find(".Detail_SaveChanges").addClass("hidden");
  1867. containerEl.find(".dropdown-menu").removeClass("hidden");
  1868. containerEl.find("#chkLayout_PortletsSelectors").removeClass("hidden");
  1869. containerEl.find("#chkLayout_Portlet").addClass("hidden");
  1870. containerEl.find("#tab-container").sortable('destroy');
  1871. containerEl.find("#layout-detail-tabs").sortable('destroy');
  1872. $("#txt_global_Search").text('');
  1873. $(".header-wth-search .nav-search").hide();
  1874. $(".header-wth-search .nav-header-text").removeAttr("style");
  1875. $(".header-wth-search .nav-header-text").css({ "opacity": "1", "pointer-events": "auto" });
  1876. containerEl.find("#dashboardwidget-container").removeClass("ui-sortable");
  1877. containerEl.find("#dashboardwidget-container").sortable('destroy');
  1878. containerEl.find("#tab-container").removeClass("mx-10");
  1879. let portletId, portletName;
  1880. if (installedappid == 0) {
  1881. portletId = Number($('#' + containerId).find("#hf_DashboardPortletId").val());
  1882. portletName = Number($('#' + containerId + ' .nav-item.tab-item .nav-link.active').find('.portletName').text());
  1883. }
  1884. else {
  1885. portletId = Number($('#' + containerId + ' .nav-item.tab-item .nav-link.active').find('#hf_PortletId').val());
  1886. portletName = $('#' + containerId).find("#hf_DashboardPortletName").val();
  1887. }
  1888. containerEl.find('#tab-container .structureContent').remove();
  1889. if (installedappid != undefined && installedappid != 0) {
  1890. containerEl.find(".card-header-top").css({ "pointer-events": "all", "cursor": "pointer" });
  1891. Unibase.Themes.Compact.Components.Details.Instance().isPortletModified = false;
  1892. let panel = Unibase.Platform.Helpers.NavigationHelper.Instance().getLastContainerId();
  1893. if ((Unibase.Themes.Compact.Components.Index.Instance().isAppStructureEnable == true && Unibase.Themes.Compact.Components.Details.Instance().isAppStructEnable == true)) {
  1894. $(".navbar-nav-wrap").removeClass('hidden');
  1895. $('.nav-options-container.nav-widgets-container').first().addClass('hidden');
  1896. containerEl.find("#tab-container").removeClass("px-10");
  1897. $('#bizgaze_body .biz-main-menu').removeClass('hidden');
  1898. $('#bizgaze_body .biz-submenu .nav-header').removeClass('hidden');
  1899. $('#bizgaze_body .biz-submenu').attr({ "data-details_structure": "" });
  1900. $('#bizgaze_body .biz-submenu .nav-options-container').removeClass('hidden');
  1901. $('#bizgaze_body .biz-submenu .nav-options-container#nav-widgets-container').addClass('hidden');
  1902. containerEl.find('#tab-container').empty();
  1903. Unibase.Themes.Compact.Components.Details.Instance().getportletlayout(installedappid, portletId, '#' + panel);
  1904. if ($('#topLayoutStructuresPanel').length) {
  1905. $('#bizgaze_body').removeClass('edit-dashboard-mode');
  1906. }
  1907. }
  1908. else {
  1909. Unibase.Themes.Compact.Components.Details.Instance().loadWidgets(installedappid, portletId, "#" + panel);
  1910. }
  1911. }
  1912. else {
  1913. $("#layout-dashboard-tabs").removeClass("hidden");
  1914. $("#nav-dashboards-container").removeClass('hidden');
  1915. containerEl.find("#dashboardwidget-item").sortable('destroy');
  1916. $("#dashboardfooter").addClass("hidden");
  1917. $("#dbTopHeader").removeClass("d-none").addClass("d-flex");
  1918. if ($('#topLayoutStructuresPanel').length) {
  1919. $('#bizgaze_body').removeClass('edit-dashboard-mode');
  1920. }
  1921. const navInstance = Unibase.Themes.Compact.Components.Nav.Instance();
  1922. if (navInstance.layoutIndex == navInstance.leftLayout) {
  1923. $('.biz-submenu .header-wth-search').removeClass('d-none');
  1924. }
  1925. Unibase.Themes.Compact.Components.Dashboard.Instance().loadWidgets(portletId, portletName);
  1926. }
  1927. $('.nav-options-container.nav-setting-visible').removeClass('hidden');
  1928. }
  1929. EditScreen(InstalledAppId) {
  1930. var instance = this;
  1931. Unibase.Themes.Compact.Components.Details.Instance().isPortletEdit = true;
  1932. const containerId = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  1933. const containerEl = $(`#${containerId}`);
  1934. instance.fileCacheHelper.loadCssFile('tenants/themes/compact/css/style.widget_builder.css', null);
  1935. var jsfiles = ["platform/bundle/index.widget.builder.js"];
  1936. instance.items = '.structureDiv, .widgetdataHere, .dashboardwidget-item.dashboarddisplaynone';
  1937. instance.fileCacheHelper.loadJsFiles(jsfiles, function () {
  1938. let widgetHere = '<div class="structureContent d-flex justify-content-center w-100 p-2 mx-auto my-25" id="details-page-portlet"><a href="javascript:void(0)" class="w-100 my-auto d-flex justify-content-center" data-toggle="modal" data-target="#dashboardWidgetModal" onclick=" Unibase.Platform.Widgets.Components._Widget.Instance().widgetsModal(' + InstalledAppId + ', this);"> <span><i class="la la-plus mr-2"></i>Add Widget</span></a></div>';
  1939. let deleteButton = '<div class="w-100 d-flex position-relative" style="z-index:2; margin-bottom: -18px;"><a class="structuredelete hideButtonDashboard px-1 p-0 btn btn-danger text-white border-0 hidden" onclick="Unibase.Platform.Widgets.Components.Widget.Instance().structuredelete(this)" ;="" id="structuredelete"> <i class="fa fa-trash "></i></a><a class="px-1 p-0 btn btn-dark ml-auto text-white border-0 structures-settings" data-toggle="modal" data-target="#structure_settingModal" data-backdrop="false" onclick="Unibase.Platform.Widgets.Components._Widget.Instance().structSetting(this);" id="structures-settings"><i class="las la-tools"></i></a></div>';
  1940. if (InstalledAppId != 0) {
  1941. containerEl.find(".portletFooter").removeClass("hidden");
  1942. containerEl.find(".card-header-top").css({ "pointer-events": "none", "cousor": "none" });
  1943. let panel = Unibase.Themes.Compact.Components.Details.Instance()._containerId;
  1944. if ((Unibase.Themes.Compact.Components.Index.Instance().isAppStructureEnable == true && Unibase.Themes.Compact.Components.Details.Instance().isAppStructEnable == true)) {
  1945. $('#bizgaze_body .biz-main-menu').addClass('hidden');
  1946. $('#bizgaze_body .biz-submenu .nav-header').addClass('hidden');
  1947. $('#bizgaze_body .biz-submenu').attr({ "data-details_structure": "true" });
  1948. $('#bizgaze_body .biz-submenu .nav-options-container').addClass('hidden');
  1949. $('#bizgaze_body .biz-submenu .nav-options-container#nav-widgets-container').removeClass('hidden');
  1950. $(".toplayout-structures-panel").addClass("nav_2_layout");
  1951. $(".biz-layout-3-left-nav").addClass("nav_3_layout");
  1952. $(".biz-submenu").addClass("nav_sub_layout");
  1953. $('#bizgaze_body .biz-submenu').css({ "z-index": "9999" });
  1954. $("#bizgaze_body").find("nav.hk-nav.biz-layout-3-left-nav").css({ "z-index": '9999' });
  1955. $("#bizgaze_body").find(".toplayout-structures-panel").css({ "z-index": '9999' });
  1956. containerEl.find('#tab-container .blocks-droppable-items-place').addClass('border border-2 rounded-2 p-3 border-primary').prepend(widgetHere);
  1957. containerEl.find('#tab-container .structureToDelete').addClass('border border-2 border-dashed p-1').prepend(deleteButton);
  1958. }
  1959. else {
  1960. containerEl.find("#addWidgetContainer").removeClass("hidden");
  1961. $(".biz-wrapper,.hk-wrapper").addClass("edit-portlet-mode");
  1962. }
  1963. }
  1964. else {
  1965. $("#layout-dashboard-tabs").addClass("hidden");
  1966. const visibleNavGroupId = $('.biz-submenu .nav-options-container:visible').attr('id');
  1967. if (visibleNavGroupId)
  1968. $(`#${visibleNavGroupId}`).addClass('hidden');
  1969. $("#dbTopHeader").removeClass("d-flex").addClass("d-none");
  1970. $("#dashboardfooter").removeClass('hidden');
  1971. $(".navbar-nav-wrap").addClass('hidden');
  1972. if ($('.biz-layout-3-top-navbar').hasClass('biz__nav__toggle'))
  1973. $('.biz-layout-3-top-navbar #navbar_toggle_btn').trigger('click');
  1974. }
  1975. containerEl.find("#dashboardwidget-container .widgetsstructure").addClass("clickdisabled");
  1976. $(".biz-layout-3-top-navbar").find(".hk-nav").find(".slimScrollDiv").removeAttr("style");
  1977. containerEl.find(".Detail_Configurations").addClass('hidden');
  1978. containerEl.find(".Border").addClass('card');
  1979. containerEl.find(".Border1").addClass('card-header');
  1980. containerEl.find(".Border1").removeClass('hidden');
  1981. containerEl.find(".indexcardfooter").removeClass('hidden');
  1982. containerEl.find(".dashboardwidget-container").css({ "padding-bottom": "200px", "margin-bottom": "100px;" });
  1983. containerEl.find(".CommonWidgets").removeClass("hidden");
  1984. containerEl.find("#collapseThree .droppablePlaceCol").removeClass("p-0").addClass("p-1");
  1985. containerEl.find('#dashboardwidget-container .blocks-droppable-items-place').addClass('border border-2 rounded-2 p-3 border-primary').prepend(widgetHere);
  1986. $(".biz-layout-3-top-navbar").removeClass("hk-nav-toggle");
  1987. $(".biz-layout-3-biz-pg-wrapper").removeClass("hk-nav-toggle");
  1988. containerEl.find('#dashboardwidget-container .structureToDelete').addClass('border border-2 border-dashed p-2 m-1').prepend(deleteButton);
  1989. if (InstalledAppId == 0) {
  1990. $(".biz-main-menu").addClass("hidden");
  1991. let submenuWidth = '260';
  1992. if ($('.biz-wrapper').hasClass('biz-main-menu-hidden'))
  1993. submenuWidth = '240';
  1994. $(".biz-submenu").css({ "left": "0px", "width": `${submenuWidth}px`, "top": "0px", "background": "#fff" });
  1995. $(".biz-submenu .sidenavlink").addClass(" text-dark font-weight-700");
  1996. $('.biz-submenu .header-wth-search').addClass('hidden');
  1997. $('.nav-options-container.nav-widgets-container').first().removeClass('hidden');
  1998. }
  1999. containerEl.find(".droppablePlaceCol").find(".card").addClass("mb-0");
  2000. containerEl.find(".dashboarddisplayNone").addClass("hidden");
  2001. containerEl.find(".widgetplace").addClass("border");
  2002. containerEl.find(".widgetplace .structureContent").removeClass("hidden");
  2003. containerEl.find(".EditPortlets").removeClass('hidden');
  2004. containerEl.find("#widgetEdit-" + $("#hf_widgetId").val() + "").removeClass('hidden');
  2005. containerEl.find("#deleteWidget-" + $("#hf_widgetId").val()).click(function () {
  2006. instance.deletePortletWidget();
  2007. });
  2008. containerEl.find("#EditChanges").removeClass("hidden");
  2009. containerEl.find(".Detail_SaveChanges").removeClass("hidden");
  2010. containerEl.find(".dropdown-menu").removeClass("hidden");
  2011. containerEl.find("#chkLayout_PortletsSelectors").addClass("hidden");
  2012. containerEl.find("#chkLayout_Portlet").removeClass("hidden");
  2013. containerEl.find("#btn_bizgaze_details_close").click(Unibase.Platform.Widgets.Components.Widget.Instance().closeDetails);
  2014. if ($('#hf_ProfileInstalledappid').val() != 0 && $('#hf_ProfileInstalledappid').val() != undefined) {
  2015. instance.addDashboardWidgets(InstalledAppId);
  2016. }
  2017. else {
  2018. Unibase.Platform.Widgets.Managers.WidgetManager.Instance().getstructureleft().then(function (response) {
  2019. let data = response.result;
  2020. instance.addDashboardWidgets(InstalledAppId, data);
  2021. if ((Unibase.Themes.Compact.Components.Index.Instance().isAppStructureEnable == true && Unibase.Themes.Compact.Components.Details.Instance().isAppStructEnable == true)) {
  2022. $(".navbar-nav-wrap").addClass('hidden');
  2023. $('.nav-options-container.nav-widgets-container').first().removeClass('hidden');
  2024. $('#PageWidgets').remove();
  2025. }
  2026. });
  2027. }
  2028. if (InstalledAppId != 0) {
  2029. $(".biz-submenu #myTab").addClass("hidden");
  2030. $(".biz-submenu #structure").removeClass("active show");
  2031. $(".biz-submenu #Widgets").addClass("active show");
  2032. containerEl.find(".detail-edit-close").removeClass("hidden");
  2033. containerEl.find(".portlet-detail-header").removeClass('d-flex').addClass("d-none");
  2034. containerEl.find("#details-edit-header").removeClass("d-none").addClass("d-flex");
  2035. if ((Unibase.Themes.Compact.Components.Index.Instance().isAppStructureEnable == true && Unibase.Themes.Compact.Components.Details.Instance().isAppStructEnable == true)) {
  2036. if ($('#topLayoutStructuresPanel').length) {
  2037. $('#bizgaze_body').addClass('edit-dashboard-mode');
  2038. }
  2039. }
  2040. else {
  2041. $('#bizgaze_body').removeClass('edit-dashboard-mode');
  2042. }
  2043. }
  2044. else {
  2045. $(".biz-submenu #structure-tab").removeClass("hidden");
  2046. containerEl.find(".detail-edit-close").addClass("hidden");
  2047. if ($('#topLayoutStructuresPanel').length) {
  2048. $('#bizgaze_body').addClass('edit-dashboard-mode');
  2049. }
  2050. }
  2051. containerEl.find("#dashboardwidget-container, #tab-container").sortable({
  2052. revert: true,
  2053. scroll: true,
  2054. scrollSensitivity: 10,
  2055. cursor: "move",
  2056. forceHelperSize: true,
  2057. sort: function (event, ui) {
  2058. console.log("#dashboardwidget-container, #tab-container is firing");
  2059. if ($(".ui-sortable-placeholder").parent('.ui_sortable_placeholder').length < 1) {
  2060. $(".ui-sortable-placeholder").wrap('<div class="px-3 w-100 ui_sortable_placeholder"></div>');
  2061. }
  2062. let height = ($(ui.item).height() - 15) + 'px';
  2063. $(".ui-sortable-placeholder").css({
  2064. "visibility": "visible", "width": "100%", "height": height, "background-image": "linear-gradient(135deg, rgb(255 255 255) 0%, transparent 0%, rgb(255 255 255) 50%, rgb(112 108 108) 0%, rgb(240 240 240) 51%, transparent 38%, rgb(255 255 255))", "background-size": "12px 12px", "margin": "20px 0px !important"
  2065. });
  2066. },
  2067. stop: function (event, ui) {
  2068. $(ui.item).unwrap();
  2069. $('.ui_sortable_placeholder').remove();
  2070. $("#dashboardwidget-container .dashboardwidget-item").each(function () {
  2071. var portletwidgetId = Number($(this).find("#hf_portletwidgetId").val());
  2072. if ($(this).find("#hf_portletwidgetId").val() != undefined) {
  2073. var portletwidgetid = portletwidgetId;
  2074. var index = Number($(this).index());
  2075. Unibase.Platform.Widgets.WidgetHiddenFields.Instance().PortletWidgets.push({
  2076. PortletWidgetId: portletwidgetid,
  2077. index: index
  2078. });
  2079. }
  2080. else {
  2081. var WidgetId = Number($(this).find("#hf_widgetId").val());
  2082. var index = Number($(this).index());
  2083. Unibase.Platform.Widgets.WidgetHiddenFields.Instance().PortletWidgets.push({
  2084. WidgetId: WidgetId,
  2085. index: $(this).index()
  2086. });
  2087. }
  2088. });
  2089. }
  2090. });
  2091. containerEl.find("#tab-container").sortable({
  2092. revert: true,
  2093. scroll: true,
  2094. scrollSensitivity: 10,
  2095. cursor: "move",
  2096. forceHelperSize: true,
  2097. update: function (event, ui) {
  2098. console.log('#tab-container is firing line 1941');
  2099. Unibase.Themes.Compact.Components.Details.Instance().isPortletModified = true;
  2100. $("#tab-container .portletwidget-addeditem").each(function () {
  2101. if ($(this).find("#hf_PortletWidgetId").val() != undefined) {
  2102. var PortletWidgetId = Number($(this).find("#hf_PortletWidgetId").val());
  2103. var index = Number($(this).index());
  2104. Unibase.Platform.Widgets.WidgetHiddenFields.Instance().PortletWidgets.push({
  2105. PortletWidgetId: PortletWidgetId,
  2106. index: index
  2107. });
  2108. }
  2109. else {
  2110. var WidgetId = Number($(this).find("#hf_widgetId").val());
  2111. var index = Number($(this).index());
  2112. Unibase.Platform.Widgets.WidgetHiddenFields.Instance().PortletWidgets.push({
  2113. WidgetId: WidgetId,
  2114. index: index
  2115. });
  2116. }
  2117. });
  2118. }
  2119. });
  2120. containerEl.find("#layout-detail-tabs").sortable({
  2121. revert: true,
  2122. scroll: false,
  2123. cursor: "move",
  2124. forceHelperSize: true,
  2125. stop: function (event, ui) {
  2126. console.log("#layout-detail-tabs is firing");
  2127. $("#layout-detail-tabs .tab-addeditem").each(function () {
  2128. if ($(this).find("#hf_PortletId").data("portletid") != undefined) {
  2129. var portletId = Number($(this).find("#hf_PortletId").data("portletid"));
  2130. var existedIndex = Unibase.Platform.Widgets.WidgetHiddenFields.Instance().Portlets.findIndex(f => f.PortletId == portletId);
  2131. if (existedIndex == -1) {
  2132. Unibase.Platform.Widgets.WidgetHiddenFields.Instance().Portlets.push({
  2133. PortletId: portletId,
  2134. PortletIndex: Number($(this).index() + 1)
  2135. });
  2136. }
  2137. else {
  2138. Unibase.Platform.Widgets.WidgetHiddenFields.Instance().Portlets[existedIndex].PortletIndex = Number($(this).index() + 1);
  2139. }
  2140. }
  2141. });
  2142. }
  2143. });
  2144. if (($("#dashboardwidget-container").hasClass('ui-sortable'))) {
  2145. $("#dashboardwidget-container").on("mouseover", "div", MouseEvent, function () {
  2146. var WidgetId = $(this).find("#hf_widgetId").val();
  2147. var PortletWidgetId = $(this).find("#hf_portletwidgetId").val();
  2148. if (isNaN(Number(WidgetId))) {
  2149. WidgetId = 0;
  2150. }
  2151. else
  2152. WidgetId = Number(WidgetId);
  2153. if (isNaN(Number(PortletWidgetId)))
  2154. PortletWidgetId = 0;
  2155. else
  2156. PortletWidgetId = Number(PortletWidgetId);
  2157. Unibase.Platform.Widgets.WidgetHiddenFields.Instance().wid = WidgetId;
  2158. Unibase.Platform.Widgets.WidgetHiddenFields.Instance().pwid = PortletWidgetId;
  2159. if (PortletWidgetId === 0 || WidgetId === undefined) {
  2160. Unibase.Platform.Widgets.WidgetHiddenFields.Instance().unix_pwid = Number($(this).find("#hf_widgetId_uniq").val());
  2161. }
  2162. });
  2163. }
  2164. if ($("#layout-detail-tabs").hasClass('ui-sortable')) {
  2165. containerEl.find("#tab-container").on("mouseover", "div", MouseEvent, function () {
  2166. var WidgetId = $(this).find("#hf_widgetId").val();
  2167. var PortletWidgetId = $(this).find("#hf_PortletWidgetId").val();
  2168. if (isNaN(Number(WidgetId))) {
  2169. WidgetId = 0;
  2170. }
  2171. else
  2172. WidgetId = Number(WidgetId);
  2173. if (isNaN(Number(PortletWidgetId)))
  2174. PortletWidgetId = 0;
  2175. else
  2176. PortletWidgetId = Number(PortletWidgetId);
  2177. Unibase.Platform.Widgets.WidgetHiddenFields.Instance().wid = WidgetId;
  2178. Unibase.Platform.Widgets.WidgetHiddenFields.Instance().pwid = PortletWidgetId;
  2179. if (PortletWidgetId === 0 || WidgetId === undefined) {
  2180. Unibase.Platform.Widgets.WidgetHiddenFields.Instance().unix_pwid = Number($(this).find("#hf_widgetId_uniq").val());
  2181. }
  2182. });
  2183. }
  2184. });
  2185. }
  2186. deletePortletWidget() {
  2187. var PortletWidgetIds = Unibase.Platform.Widgets.WidgetHiddenFields.Instance().deleteWidget;
  2188. }
  2189. confirmSave() {
  2190. bootbox.confirm({
  2191. message: "Do you want to Save Changes?",
  2192. buttons: {
  2193. confirm: {
  2194. label: 'Save changes',
  2195. className: 'btn btn-primary ml-auto'
  2196. },
  2197. cancel: {
  2198. label: 'Discard Changes',
  2199. className: 'btn btn-outline-secondary'
  2200. }
  2201. },
  2202. callback: function (result) {
  2203. if (result) {
  2204. Unibase.Platform.Widgets.Components.Widget.Instance().SaveScreen();
  2205. }
  2206. else {
  2207. Unibase.Platform.Widgets.Components.Widget.Instance().loadportlet();
  2208. }
  2209. }
  2210. });
  2211. }
  2212. SaveScreen() {
  2213. var instance = this;
  2214. var InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  2215. Unibase.Themes.Compact.Components.Details.Instance().isPortletModified = false;
  2216. Unibase.Themes.Compact.Components.Details.Instance().isPortletEdit = false;
  2217. if (InstalledAppId == 0) {
  2218. let alertBox = [];
  2219. $('#dashboardwidget-container').find('.widgetplace').each(function () {
  2220. if ($(this).find(".dashboardwidget-addeditem").length == 0) {
  2221. alertBox.push({ "boxEmpty": $(this).length });
  2222. }
  2223. });
  2224. var emptybox = alertBox.filter(x => x.boxEmpty == 1);
  2225. if (emptybox.length > 0) {
  2226. var msg = 'Still Boxes are Empty try to add Widget (or) Proceed at your own wish';
  2227. bootbox.confirm({
  2228. message: msg,
  2229. closeButton: false,
  2230. buttons: {
  2231. confirm: {
  2232. label: 'Proceed',
  2233. className: 'btn-success'
  2234. },
  2235. cancel: {
  2236. label: 'Cancel',
  2237. className: 'btn-danger'
  2238. }
  2239. },
  2240. callback: function (result) {
  2241. if (result) {
  2242. instance.parentStructures('dashboardwidget-container', 'dashboardwidget-item');
  2243. instance.SaveWidget();
  2244. }
  2245. else {
  2246. $('#modal_popup_EditLineItem').modal('hide');
  2247. bootbox.hideAll();
  2248. return false;
  2249. }
  2250. }
  2251. });
  2252. }
  2253. else {
  2254. instance.parentStructures('dashboardwidget-container', 'dashboardwidget-item');
  2255. instance.SaveWidget();
  2256. }
  2257. }
  2258. if (InstalledAppId != 0) {
  2259. if ((Unibase.Themes.Compact.Components.Index.Instance().isAppStructureEnable == true && Unibase.Themes.Compact.Components.Details.Instance().isAppStructEnable == true)) {
  2260. instance.parentStructures('tab-container', 'portletwidget-item');
  2261. instance.SaveWidget();
  2262. }
  2263. else {
  2264. instance.SaveWidgetDetailsPage();
  2265. }
  2266. }
  2267. }
  2268. SaveWidgetDetailsPage() {
  2269. let instance = this;
  2270. Unibase.Platform.Widgets.WidgetHiddenFields.Instance().NewWidgetsForPortlet = [];
  2271. Unibase.Platform.Widgets.WidgetHiddenFields.Instance().PortletWidgets = [];
  2272. if (Unibase.Themes.Compact.Components.Index.Instance().isAppStructureEnable != true || Unibase.Themes.Compact.Components.Details.Instance().isAppStructEnable != true) {
  2273. $('#' + Unibase.Platform.Helpers.NavigationHelper.Instance().getLastContainerId()).find('#tab-container').find('.portletwidget-addeditem').each(function (index) {
  2274. let portleid = $(this).attr('data-portletid'), widgetid = $(this).attr('data-widgetid'), widgetname = $(this).attr('data-widgetname');
  2275. Unibase.Platform.Widgets.WidgetHiddenFields.Instance().NewWidgetsForPortlet.push({
  2276. "PortletId": Number(portleid),
  2277. "WidgetId": Number(widgetid),
  2278. "WidgetName": widgetname,
  2279. "index": Number(index)
  2280. });
  2281. });
  2282. instance.SaveWidget();
  2283. }
  2284. }
  2285. parentStructures(structureContainer, widgetitem) {
  2286. var instance = this, VisibleContainerId = Unibase.Platform.Helpers.NavigationHelper.Instance().getLastContainerId(), InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  2287. if ($('#' + structureContainer).attr('data-isedit') == 'true') {
  2288. instance.strEditMode = true;
  2289. }
  2290. else {
  2291. instance.strEditMode = false;
  2292. }
  2293. instance.structureDesignArray = [];
  2294. $("#" + VisibleContainerId + " ." + structureContainer).find(".structureDiv[data-parent=" + structureContainer + "]").each(function (vindex) {
  2295. let divId = $(this).attr('id'), structureid = $(this).attr("data-divstructureid"), parentid = 0, portletid, isEdit = $(this).attr('data-isedit'), blockId, block;
  2296. if (InstalledAppId != 0) {
  2297. portletid = $("#" + VisibleContainerId + " #layout-detail-tabs").find('li.nav-item a.active').parent('.nav-item').attr('value');
  2298. }
  2299. else {
  2300. portletid = $('#' + VisibleContainerId).find('#hf_DashboardPortletId').val();
  2301. }
  2302. var strctWidgetIndex = $(this).index();
  2303. $("#" + Unibase.Platform.Helpers.NavigationHelper.Instance().getLastContainerId()).find("#" + divId).find(".droppablePlaceCol[data-parent=" + divId + "]").each(function () {
  2304. let bindDiv = $(this).attr('id');
  2305. $(this).find("div[data-parent=" + bindDiv + "]").attr('data-dropOrderIndex', instance.DropOrderIndex);
  2306. let structuredesignId = [], widgetstructDesignId, mobileWidth = '', tabWidth = '';
  2307. widgetstructDesignId = $(this).attr('id');
  2308. structuredesignId = widgetstructDesignId.split('_');
  2309. if (isEdit == "false") {
  2310. block = false, blockId = Number(structuredesignId[1]);
  2311. }
  2312. else {
  2313. block = true, blockId = 0;
  2314. }
  2315. if (($(this).attr('data-mobile_settingwidth') != undefined) && ($(this).attr('data-mobile_settingwidth') != '') && ($(this).attr('data-mobile_settingwidth') != null)) {
  2316. mobileWidth = $(this).attr('data-mobile_settingwidth');
  2317. }
  2318. else {
  2319. mobileWidth = '';
  2320. }
  2321. if (($(this).attr('data-tab_settingwidth') != undefined) && ($(this).attr('data-tab_settingwidth') != '') && ($(this).attr('data-tab_settingwidth') != null)) {
  2322. tabWidth = $(this).attr('data-tab_settingwidth');
  2323. }
  2324. else {
  2325. tabWidth = '';
  2326. }
  2327. instance.structureDesignArray.push({
  2328. structuredesignId: Number(blockId),
  2329. StructureId: Number(structureid),
  2330. StructureHIndex: Number($(this).attr('data-structureindex')),
  2331. StructureVIndex: Number(vindex),
  2332. ParentId: Number(parentid),
  2333. PortletId: Number(portletid),
  2334. isblock: block,
  2335. parentstructureid: Number(0),
  2336. DropOrderIndex: instance.DropOrderIndex,
  2337. StrctWidgetIndex: Number(strctWidgetIndex),
  2338. ParentIndex: 0,
  2339. StructureMobileWidth: mobileWidth,
  2340. StructureTabWidth: tabWidth,
  2341. InstalledAppId: Unibase.Themes.Providers.DetailHelper.installedAppId,
  2342. containerId: Unibase.Platform.Helpers.NavigationHelper.Instance().getLastContainerId()
  2343. });
  2344. $(this).find('.' + widgetitem).each(function (event, ui) {
  2345. if ($(ui.offsetParent).attr('id') == widgetstructDesignId) {
  2346. let WidgetId = $(ui).attr('id');
  2347. let widgetindex = $('#' + VisibleContainerId).find('.widgetid-' + WidgetId).index();
  2348. $('#' + VisibleContainerId).find('#' + WidgetId).find('#hf_widgetId_uniq').val();
  2349. Unibase.Platform.Widgets.WidgetHiddenFields.Instance().NewWidgetsForPortlet.push({
  2350. PortletId: Number(portletid),
  2351. WidgetId: Number($(ui).attr('id')),
  2352. WidgetName: $('#' + VisibleContainerId).find('#' + WidgetId).find('#WidgetName a strong').text(),
  2353. WidgetUniqueId: $('#' + VisibleContainerId).find('#' + WidgetId).find('#hf_widgetId_uniq').val(),
  2354. StructureDesignId: blockId,
  2355. DropOrderIndex: instance.DropOrderIndex,
  2356. StrctWidgetIndex: Number(widgetindex),
  2357. containerId: Unibase.Platform.Helpers.NavigationHelper.Instance().getLastContainerId()
  2358. });
  2359. }
  2360. });
  2361. instance.DropOrderIndex++;
  2362. instance.prepareStructureDesign($(this).attr("id"), widgetitem);
  2363. });
  2364. });
  2365. }
  2366. prepareStructureDesign(structureId, widgetitem) {
  2367. var instance = this, VisibleContainerId = Unibase.Platform.Helpers.NavigationHelper.Instance().getLastContainerId(), InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  2368. $("#" + VisibleContainerId + " #" + structureId).find(".structureDiv[data-parent=" + structureId + "]").each(function (vindex) {
  2369. let forinstance = this;
  2370. let divId = $(this).attr('id'), parentid = [], blockId, structureid = $(this).attr("data-divstructureid"), portletid, isEdit = $(this).attr('data-isedit');
  2371. var strctWidgetIndex = $(this).index();
  2372. if (InstalledAppId != 0) {
  2373. portletid = $("#" + VisibleContainerId + " #layout-detail-tabs").find('li.nav-item a.active').parent('.nav-item').attr('value');
  2374. }
  2375. else {
  2376. portletid = $('#' + VisibleContainerId).find('#hf_DashboardPortletId').val();
  2377. }
  2378. $('#' + Unibase.Platform.Helpers.NavigationHelper.Instance().getLastContainerId()).find("#" + divId).find(".droppablePlaceCol[data-parent=" + divId + "]").each(function () {
  2379. let bindDiv = $(this).attr('id');
  2380. $(this).find("div[data-parent=" + bindDiv + "]").attr('data-dropOrderIndex', instance.DropOrderIndex);
  2381. let block, DivParentId = $('#' + VisibleContainerId).find('#' + divId).attr('data-parent').split('_'), DivStructureUniqueId = $(this).attr('id').split('_'), ParentIndex = $('#' + VisibleContainerId).find('#' + divId).attr('data-dropOrderIndex');
  2382. let structuredesignId = [], widgetstructDesignId, mobileWidth = '', tabWidth = '';
  2383. widgetstructDesignId = $(this).attr('id');
  2384. structuredesignId = widgetstructDesignId.split('_');
  2385. parentid = $(this).attr('data-parent').split('_');
  2386. if (isEdit == "false") {
  2387. block = false, blockId = Number(structuredesignId[1]);
  2388. }
  2389. else {
  2390. block = true, blockId = 0;
  2391. }
  2392. if (($(this).attr('data-mobile_settingwidth') != undefined) && ($(this).attr('data-mobile_settingwidth') != '') && ($(this).attr('data-mobile_settingwidth') != null)) {
  2393. mobileWidth = $(this).attr('data-mobile_settingwidth');
  2394. }
  2395. else {
  2396. mobileWidth = '';
  2397. }
  2398. if (($(this).attr('data-tab_settingwidth') != undefined) && ($(this).attr('data-tab_settingwidth') != '') && ($(this).attr('data-tab_settingwidth') != null)) {
  2399. tabWidth = $(this).attr('data-tab_settingwidth');
  2400. }
  2401. else {
  2402. tabWidth = '';
  2403. }
  2404. instance.structureDesignArray.push({
  2405. structuredesignId: Number(blockId),
  2406. StructureId: Number(structureid),
  2407. StructureHIndex: Number($(this).attr('data-structureindex')),
  2408. StructureVIndex: Number(vindex),
  2409. PortletId: Number(portletid),
  2410. isblock: block,
  2411. DropOrderIndex: instance.DropOrderIndex,
  2412. StrctWidgetIndex: Number(strctWidgetIndex),
  2413. ParentIndex: Number(ParentIndex),
  2414. StructureMobileWidth: mobileWidth,
  2415. StructureTabWidth: tabWidth,
  2416. InstalledAppId: Unibase.Themes.Providers.DetailHelper.installedAppId
  2417. });
  2418. $(this).find('.' + widgetitem).each(function (event, ui) {
  2419. if ($(ui.offsetParent).attr('id') == widgetstructDesignId) {
  2420. let WidgetId = $(ui).attr('id');
  2421. let widgetindex = $('.widgetid-' + WidgetId).index();
  2422. $('#' + VisibleContainerId).find('#' + WidgetId).find('#hf_widgetId_uniq').val();
  2423. Unibase.Platform.Widgets.WidgetHiddenFields.Instance().NewWidgetsForPortlet.push({
  2424. PortletId: Number(portletid),
  2425. WidgetId: Number($(ui).attr('id')),
  2426. WidgetName: $('#' + VisibleContainerId).find('#' + WidgetId).find('#WidgetName a strong').text(),
  2427. WidgetUniqueId: $('#' + VisibleContainerId).find('#' + WidgetId).find('#hf_widgetId_uniq').val(),
  2428. StructureDesignId: blockId,
  2429. DropOrderIndex: instance.DropOrderIndex,
  2430. StrctWidgetIndex: Number(widgetindex)
  2431. });
  2432. }
  2433. });
  2434. instance.DropOrderIndex++;
  2435. instance.prepareStructureDesign($(this).attr("id"), widgetitem);
  2436. });
  2437. });
  2438. }
  2439. SaveStructureLayout() {
  2440. let InstalledAppid = Unibase.Themes.Providers.DetailHelper.installedAppId;
  2441. let instance = this;
  2442. Unibase.Platform.Widgets.WidgetHiddenFields.Instance().StructureDesigns = instance.structureDesignArray;
  2443. var layoutObj = ({
  2444. StructureDesign: Unibase.Platform.Widgets.WidgetHiddenFields.Instance().StructureDesigns,
  2445. AddWidgetsToPortlet: Unibase.Platform.Widgets.WidgetHiddenFields.Instance().NewWidgetsForPortlet,
  2446. DeletePortletWidgets: Unibase.Platform.Widgets.WidgetHiddenFields.Instance().deleteWidget,
  2447. PortletIndex: Unibase.Platform.Widgets.WidgetHiddenFields.Instance().Portlets,
  2448. PortletWidgetIndex: Unibase.Platform.Widgets.WidgetHiddenFields.Instance().PortletWidgets,
  2449. StructureDesignDelete: Unibase.Platform.Widgets.WidgetHiddenFields.Instance().StructureDesignDelete,
  2450. });
  2451. instance.fileCacheHelper.loadJsFile("platform/widgets/managers/widgetmanager.js", function () {
  2452. return __awaiter(this, void 0, void 0, function* () {
  2453. yield Unibase.Platform.Widgets.Managers.WidgetManager.Instance().saveLayout(layoutObj).then(function (response) {
  2454. MessageHelper.Instance().showSuccess('successfully Saved', '');
  2455. });
  2456. });
  2457. });
  2458. }
  2459. SaveWidget() {
  2460. let InstalledAppid = Unibase.Themes.Providers.DetailHelper.installedAppId;
  2461. let instance = this;
  2462. Unibase.Platform.Widgets.WidgetHiddenFields.Instance().StructureDesigns = instance.structureDesignArray;
  2463. var layoutObj = ({
  2464. StructureDesign: Unibase.Platform.Widgets.WidgetHiddenFields.Instance().StructureDesigns,
  2465. AddWidgetsToPortlet: Unibase.Platform.Widgets.WidgetHiddenFields.Instance().NewWidgetsForPortlet,
  2466. DeletePortletWidgets: Unibase.Platform.Widgets.WidgetHiddenFields.Instance().deleteWidget,
  2467. PortletIndex: Unibase.Platform.Widgets.WidgetHiddenFields.Instance().Portlets,
  2468. PortletWidgetIndex: Unibase.Platform.Widgets.WidgetHiddenFields.Instance().PortletWidgets,
  2469. StructureDesignDelete: Unibase.Platform.Widgets.WidgetHiddenFields.Instance().StructureDesignDelete,
  2470. });
  2471. instance.fileCacheHelper.loadJsFile("platform/widgets/managers/widgetmanager.js", function () {
  2472. return __awaiter(this, void 0, void 0, function* () {
  2473. yield Unibase.Platform.Widgets.Managers.WidgetManager.Instance().saveLayout(layoutObj).then(function (response) {
  2474. if (InstalledAppid != 0) {
  2475. Unibase.Themes.Compact.Components.Details.Instance().isPortletModified = false;
  2476. Unibase.Themes.Compact.Components.Details.Instance().isPortletEdit = false;
  2477. }
  2478. instance.structureDesignArray = [], instance.DropOrderIndex = 1;
  2479. instance.structDesignIdArrayDelete = [];
  2480. let _WidgetHiddenFields = Unibase.Platform.Widgets.WidgetHiddenFields.Instance();
  2481. _WidgetHiddenFields.StructureDesigns = [];
  2482. _WidgetHiddenFields.NewWidgetsForPortlet = [];
  2483. _WidgetHiddenFields.deleteWidget = [];
  2484. _WidgetHiddenFields.Portlets = [];
  2485. _WidgetHiddenFields.PortletWidgets = [];
  2486. _WidgetHiddenFields.StructureDesignDelete = [];
  2487. });
  2488. if (!($("#confirmPortletChangesModal").data('bs.modal') || {})._isShown) {
  2489. instance.navigationHelper.showLoading();
  2490. yield Unibase.Platform.Widgets.Components.Widget.Instance().loadportlet();
  2491. instance.navigationHelper.hideLoading();
  2492. }
  2493. else {
  2494. if ($('#AddPortlets').attr('data-isClicked') == 'true') {
  2495. $('#AddPortlets').attr('data-isClicked', 'false');
  2496. instance.renderAddPortletText(true, InstalledAppid);
  2497. }
  2498. let portletId = $('#confirmPortletChangesModal').attr('data-portletid');
  2499. let panel = Unibase.Themes.Compact.Components.Details.Instance()._containerId;
  2500. $("#confirmPortletChangesModal").modal('hide');
  2501. yield Unibase.Themes.Compact.Components.Details.Instance().loadWidgets(InstalledAppid, portletId, '#' + panel);
  2502. }
  2503. });
  2504. });
  2505. }
  2506. closeDetails() {
  2507. if ($(".layout-detail-tabs").hasClass("ui-sortable") == true) {
  2508. Unibase.Platform.Widgets.WidgetHiddenFields.Instance().NewWidgetsForPortlet = [];
  2509. Unibase.Platform.Widgets.WidgetHiddenFields.Instance().Portlets = [];
  2510. Unibase.Platform.Widgets.WidgetHiddenFields.Instance().NewWidgets = [];
  2511. Unibase.Platform.Widgets.WidgetHiddenFields.Instance().SelectedWidgets = [];
  2512. Unibase.Platform.Widgets.WidgetHiddenFields.Instance().deleteWidget = [];
  2513. Unibase.Platform.Widgets.WidgetHiddenFields.Instance().editWidget = [];
  2514. let containerId = '#' + Unibase.Platform.Helpers.NavigationHelper.Instance().getLastContainerId();
  2515. $(containerId).find("#tab-container").removeAttr("style");
  2516. $("#divAddedWidgetList").show();
  2517. $("#divNewWidgetList").hide();
  2518. $(".divBizgaze_HiddenFields").html('');
  2519. $("#app-list").removeClass("hide");
  2520. $("#app-details").addClass("hide");
  2521. $("#SavePortlet").addClass("hidden");
  2522. $("#chkLayout_PortletsSelectors").removeClass("hidden");
  2523. $("#chkLayout_Portlet").addClass("hidden");
  2524. $("#AddWidget_btnSelectWidget").addClass("hidden");
  2525. $("#AddWidget_btnCreateWidget").addClass("hidden");
  2526. $(containerId).find("#tab-container").sortable('destroy');
  2527. $("#layout-detail-tabs").sortable('destroy');
  2528. $("#layout-dashboard-tabs").sortable('destroy');
  2529. $(containerId).find("#dashboardwidget-item").sortable('destroy');
  2530. $("#Stage").removeClass('hidden');
  2531. $(".Detail_Configurations").removeClass('hidden');
  2532. $("#app-list").removeClass("hide");
  2533. $("#app-details").addClass("hide");
  2534. $("#nav-widgets-container").addClass('hidden');
  2535. $(".indexcardfooter").addClass('hidden');
  2536. }
  2537. }
  2538. createWidget(Installedappid) {
  2539. $(".biz-submenu").css({ "z-index": "" });
  2540. $(".biz-layout-3-left-nav").css({ "z-index": "" });
  2541. $(".toplayout-structures-panel").css({ "z-index": "1040" });
  2542. this.navigationHelper.popup(Installedappid, "", Widget.Instance(), null, Platform.Helpers.Size.ExtraLarge);
  2543. }
  2544. resetWidget(widgetId) {
  2545. var InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  2546. $('#btn-widget-close').click();
  2547. if (widgetId != "undefined") {
  2548. Unibase.Platform.Widgets.Components.Widget.Instance().loadWidgetData(widgetId, 0, false);
  2549. }
  2550. else {
  2551. Unibase.Platform.Widgets.Components.Widget.Instance().createWidget(InstalledAppId);
  2552. }
  2553. }
  2554. addDashboardWidgets(InstalledAppId, data) {
  2555. var hidden = "";
  2556. if (InstalledAppId == undefined) {
  2557. hidden = "hidden";
  2558. }
  2559. var html = '<br><div class="row1">' +
  2560. '<div class="col-sm-12">' +
  2561. '<div class="form-group">' +
  2562. '<div class="input-group"><br/>' +
  2563. '<input id="txtSearchWidgets" class="form-control rounded" placeholder="Search Widgets" type="text">' +
  2564. ' </div>' +
  2565. ' </div>' +
  2566. '</div>' +
  2567. '</div>';
  2568. html = '<div class="divNewWidgetListContainer clear">' +
  2569. '<div class="panel-group m-b" id="widgetAccordian">' +
  2570. '<div class="nav-tabs-header panel divpage" id="PageWidgets">' +
  2571. '<ul class="navbar-nav flex-column">' +
  2572. '<li class="nav-item active">' +
  2573. '<a class="nav-link-text accordion-toggle" style="cursor:pointer;" data-toggle="collapse" data-parent="#widgetAccordian" href="#collapseOne">' +
  2574. '<span class="nav-link-text">App Widgets</span>' +
  2575. ' </a>' +
  2576. '<ul id="collapseOne" class="panel-collapse in navbar-nav flex-column"><li>' +
  2577. '<ul class="flex-column no-border no-radius list-group-alt sortableWidgetList" id="sortableWidgetList">' +
  2578. ' <li id="drag" class="hidden nav-item widget-item divPageWidgetSlider"></li>' +
  2579. '</ul>' +
  2580. '</li>' +
  2581. ' </ul>' +
  2582. '</li></ul>' +
  2583. '</div>' +
  2584. '<div class="nav-tabs-header panel pb-60" id="CommonWidgets">' +
  2585. '<ul class="nav nav-tabs nav-light bg-light" id = "myTab" role = "tablist" >' +
  2586. '<li class="nav-item w-50 text-center" >' +
  2587. '<a class="nav-link active sidenavlink p-3 h-55p align-items-center" id="structure-tab" data-toggle="tab" href="#structure" role="tab" aria-controls="structure" aria-selected="true" style="color:#2f343a !important" >Structure </a>' +
  2588. '</li>' +
  2589. '<li class="nav-item w-50 text-center" >' +
  2590. '<a class="nav-link p-3 sidenavlink h-55p align-items-center " id="Widgets-tab" data-toggle="tab" href="#Widgets" role="tab" aria-controls="Widgets" aria-selected="false" style="color:#2f343a !important" > Widgets </a>' +
  2591. '</li>' +
  2592. '</ul>' +
  2593. '<div class="tab-content m-0" id = "myTabContent" >' +
  2594. ' <div class="tab-pane fade show active displaynone_onTab-Container" id="structure" role="tabpanel" aria-labelledby="structure-tab" >' +
  2595. '<ul id="collapseThree" class="d-flex flex-column" >';
  2596. for (var i = 0; i < data.length; i++) {
  2597. if (i == 0) {
  2598. $('[data-divstructureid="default-structure"]').attr('data-divstructureid', data[i].StructureId);
  2599. }
  2600. html += '<li class=""><div class="container structure-draggable ui-draggable p-0 droppable-items-place-none"><div class="d-flex flex-wrap structureToDelete w-100" data-structuredesignid="' + data[i].StructureName + '" data-divstructureid="' + data[i].StructureId + '" data-isEdit="true"> <div class="w-100 d-flex position-relative" style="z-index:2; margin-bottom: -18px;"><a class="structuredelete hideButtonDashboard px-1 p-0 btn btn-danger text-white border-0 hidden" onclick="Unibase.Platform.Widgets.Components.Widget.Instance().structuredelete(this)" ;="" id="structuredelete"> <i class="fa fa-trash "></i></a><a class="px-1 p-0 btn btn-dark ml-auto text-white border-0 structures-settings hidden" data-toggle="modal" data-target="#structure_settingModal" data-backdrop="false" onclick="Unibase.Platform.Widgets.Components._Widget.Instance().structSetting(this);" id="structures-settings"><i class="las la-tools"></i></a></div>';
  2601. let width = data[i].StructureWidth.split('|');
  2602. for (var k = 0; k < width.length; k++) {
  2603. html += '<div class="col-md-' + width[k] + ' droppablePlaceCol p-0" data-isblock="1" data-structureindex=' + k + '><div class="border rounded-2 p-3 blocks-droppable-items-place" id="' + width[k] + '"></div></div>';
  2604. }
  2605. }
  2606. html += '</ul>' +
  2607. '</div>' +
  2608. '<div class="tab-pane fade" id="Widgets" role="tabpanel" aria-labelledby="Widgets-tab">' +
  2609. '<ul class="navbar-nav flex-column">' +
  2610. '<li class="nav-item">' +
  2611. '<a class="nav-link-text accordion-toggle" style="cursor:pointer;" data-toggle="collapse" data-parent="#widgetAccordian" href="#collapseTwo">' +
  2612. '<span class="nav-link-text">Common Widgets</span>' +
  2613. ' </a>' +
  2614. '<ul id="collapseTwo" class="panel-collapse collapse navbar-nav flex-column"><li>' +
  2615. '<ul class="flex-column no-border no-radius list-group-alt sortableWidgetList dsl-block-wrap" id="sortableWidgetList">' +
  2616. '<li id="drag" class="hidden nav-item widget-item divCommonWidgetSlider"></li>' +
  2617. '<li id="drag" class="hidden nav-item widget-item divCommonWidgetSlider"></li>' +
  2618. '</ul>' +
  2619. '</li>' +
  2620. '</ul>' +
  2621. '</li></ul>' +
  2622. '<hr class="nav-separator">' +
  2623. '<div class="nav-tabs-header panel" id="AddedWidgets">' +
  2624. '<ul class="navbar-nav flex-column dsl-block-wrap">' +
  2625. '<li class="nav-item">' +
  2626. '<a class="nav-link-text accordion-toggle" style="cursor:pointer;" data-toggle="collapse" data-parent="#widgetAccordian" href="#collapseThree">' +
  2627. '<span class="nav-link-text">Already AddedWidgets</span>' +
  2628. '</a>' +
  2629. ' <ul id="collapseThree" class="panel-collapse collapse navbar-nav flex-column"><li>' +
  2630. '<ul class="flex-column no-border no-radius list-group-alt sortableWidgetList dsl-block-wrap" id="sortableWidgetList">' +
  2631. '<li class="hidden nav-item widget-item divAddedWidgetSlider"></li>' +
  2632. '</ul>' +
  2633. '</li>' +
  2634. '</li></ul>' +
  2635. '</div>' +
  2636. '</div>' +
  2637. '</div>' +
  2638. '</div>' +
  2639. '</div>';
  2640. $("#nav-widgets-container").html(html);
  2641. $("#dashboardwidget-container, #tab-container").on('mouseover', '.structureToDelete', function () {
  2642. var CheckWidget_Avalaiable = $(this).find(".widgetdataHere").length;
  2643. if (CheckWidget_Avalaiable == 0) {
  2644. $(this).find(".structuredelete").removeClass("hidden ");
  2645. }
  2646. });
  2647. $("#dashboardwidget-container, #tab-container").on('mouseout', '.structureToDelete', function () {
  2648. $(this).find(".structuredelete").addClass("hidden");
  2649. });
  2650. $(".structure-draggable").sortable({
  2651. connectWith: `#${Unibase.Platform.Helpers.NavigationHelper.Instance().getLastContainerId()} #dashboardwidget-container, #${Unibase.Platform.Helpers.NavigationHelper.Instance().getLastContainerId()} #tab-container, #${Unibase.Platform.Helpers.NavigationHelper.Instance().getLastContainerId()} .widgetplace`,
  2652. forcePlaceholderSize: true,
  2653. handle: 'div',
  2654. opacity: 0.6,
  2655. cursor: 'move',
  2656. tolerance: "intersect",
  2657. axis: 'y',
  2658. helper: function (event, ui) {
  2659. $(ui).attr({ 'data-clone': 'clonestruct' });
  2660. $(ui).find('.ui-sortable.ui-sortable-handle').not('.dashboardwidget-container').removeClass('biz-primary-border-color').addClass('border-dashed border');
  2661. var copyHelper = ui.clone().insertAfter(ui);
  2662. return ui.clone();
  2663. },
  2664. sort: function (event, ui) {
  2665. let height = $(ui.item).height() + 'px';
  2666. $("#dashboardwidget-container, .tab-container").find(".ui-sortable-placeholder").css({
  2667. "visibility": "visible", "width": "100%", "height": height, "background-image": "linear-gradient(135deg, rgb(255 255 255) 0%, transparent 0%, rgb(255 255 255) 50%, rgb(112 108 108) 0%, rgb(240 240 240) 51%, transparent 38%, rgb(255 255 255))", "background-size": "12px 12px", "margin": "20px 0px"
  2668. });
  2669. $(".ui-draggable").find(".ui-sortable-placeholder").css({
  2670. "visibility": "hidden", "width": "0%", "height": "0px"
  2671. });
  2672. $(".widgetplace").find(".ui-sortable-placeholder").css({
  2673. "visibility": "visible", "width": "100%", "height": height, "background-image": "linear-gradient(135deg, rgb(255 255 255) 0%, transparent 0%, rgb(255 255 255) 50%, rgb(112 108 108) 0%, rgb(240 240 240) 51%, transparent 38%, rgb(255 255 255))", "background-size": "12px 12px", "margin": "20px 0px"
  2674. });
  2675. },
  2676. stop: function (event, ui) {
  2677. console.log("structure-draggable is firing");
  2678. let dragdrop_html = '<div class="structureContent d-flex justify-content-center p-2 mx-auto w-100 my-25" id="details-page-portlet"><a href="javascript:void(0)" class="w-100 d-flex justify-content-center p" data-toggle="modal" data-target="#dashboardWidgetModal" onclick=" Unibase.Platform.Widgets.Components._Widget.Instance().widgetsModal(' + InstalledAppId + ', this);"> <span><i class="la la-plus mr-2"></i>Add Widget</span></a></div>';
  2679. let structureParent = 'divStructure_' + Math.floor(Math.random() * Date.now());
  2680. let parentstructureid = $(event.originalEvent.target).closest('.structureDiv').attr('data-divstructureid');
  2681. if (Unibase.Themes.Providers.DetailHelper.installedAppId == 0) {
  2682. $('.ui-sortable.ui-sortable-handle').not('.dashboardwidget-container').removeClass('border-2 border-dashed').addClass('biz-primary-border-color');
  2683. if ($(ui.item).parents('#dashboardwidget-container').length != 0) {
  2684. $('#dashboardwidget-container').attr({ 'data-isedit': 'true' });
  2685. let parentElement = $(ui.item).parent().attr('data-id');
  2686. $(event.originalEvent.target).parent().attr('data-isblock', '0');
  2687. if (parentElement != 'dashboardwidget-container') {
  2688. parentElement = $(ui.item).closest('.droppablePlaceCol:has([data-clone="clonestruct"])').attr('id');
  2689. }
  2690. $(ui.item).addClass('border border-2 border-dashed p-2 m-1 structureDiv').attr({ 'data-parent': parentElement, id: structureParent });
  2691. $(ui.item).find('.droppablePlaceCol').each(function () {
  2692. let structureId = 'structureId_' + Math.floor(Math.random() * Date.now());
  2693. $(this).removeClass('biz-primary-border-color p-1').addClass('px-0 px-sm-10').attr({ 'data-parent': structureParent, id: structureId, 'data-parentstructureid': parentstructureid });
  2694. });
  2695. $(ui.item).find('.blocks-droppable-items-place').addClass('widgetplace border-primary border-2').removeClass("biz-primary-border-color").append(dragdrop_html);
  2696. $(ui.item).find('.structures-settings').removeClass('hidden');
  2697. $('#collapseThree').find('.structureToDelete[data-clone= clonestruct]:not(:last-child)').remove();
  2698. }
  2699. $('#dashboardwidget-container .ui-sortable.ui-sortable-handle').removeClass('biz-primary-border-color').addClass("border-2 border");
  2700. }
  2701. else {
  2702. if ($(ui.item).parents('#tab-container').length != 0) {
  2703. $(ui.item).removeClass('d-flex flex-wrap').addClass('row mx-0');
  2704. $(ui.item).find('.structures-settings').removeClass('hidden');
  2705. $(ui.item).addClass('my-1 structureDiv border border-2 border-dashed').attr("id", structureParent);
  2706. $(ui.item).find('.droppablePlaceCol').addClass('px-1 pb-1');
  2707. $(ui.item).find('.droppablePlaceCol').each(function () {
  2708. let appstructureId = 'structureId_' + Math.floor(Math.random() * Date.now()), appsparentstructureid, appsparent;
  2709. if ($(ui.item).closest('.droppablePlaceCol').attr('id') != undefined) {
  2710. appsparentstructureid = $(ui.item).closest('.droppablePlaceCol').attr('id');
  2711. $(ui.item).attr({ "data-parent": appsparentstructureid });
  2712. }
  2713. else {
  2714. $(ui.item).attr({ "data-parent": "tab-container" });
  2715. appsparentstructureid = 0;
  2716. }
  2717. $(this).attr({ 'data-apps_parentstructureid': appsparentstructureid, "id": appstructureId, 'data-parent': structureParent, 'data-parentstructureid': parentstructureid });
  2718. });
  2719. $(ui.item).find('.droppablePlaceCol').removeClass('p-1').find('.blocks-droppable-items-place').removeClass('biz-primary-border-color').addClass('border-primary border-2 widgetplace ').html(dragdrop_html);
  2720. $('.widgetplace').sortable();
  2721. }
  2722. }
  2723. },
  2724. });
  2725. $("#collapseThree .droppablePlaceCol").removeClass("p-0").addClass("p-1");
  2726. $("#collapseThree .blocks-droppable-items-place").addClass("border biz-primary-border-color");
  2727. if (InstalledAppId == 0) {
  2728. $('#PageWidgets').hide();
  2729. $('#BindPortletPermissions').remove();
  2730. $('#AddWidget_btnSelectWidget').addClass('hidden');
  2731. $('.detail-edit-close').removeClass('btn-light');
  2732. }
  2733. $("#txt_global_Search").on("keyup", function () {
  2734. var txt = $('#txt_global_Search').val();
  2735. if (txt == '') {
  2736. $('.widget-added-item').show();
  2737. $('.panel-collapse.in').collapse('hide');
  2738. }
  2739. else {
  2740. $('.widget-added-item').hide();
  2741. $('.panel-collapse:not(".in")').collapse('show');
  2742. var value = $(this).val().toString().toLowerCase();
  2743. $("#sortableWidgetList li").each(function () {
  2744. $(this).toggle($(this).text().toLowerCase().indexOf(value) > -1);
  2745. });
  2746. }
  2747. });
  2748. $(".dripicons-cross").click(function () {
  2749. $('#txt_global_Search').empty();
  2750. $('.widget-added-item').show();
  2751. $('.panel-collapse.in').collapse('hide');
  2752. });
  2753. var instance = Unibase.Platform.Widgets.Components.Widget.Instance();
  2754. $('.panel').on('show.bs.collapse', function (e) {
  2755. instance.loadNewWidgets(e.currentTarget.id, null, InstalledAppId);
  2756. });
  2757. if (InstalledAppId == 0 || InstalledAppId == undefined) {
  2758. $('#collapseTwo').removeClass('panel-collapse collapse');
  2759. $('#collapseTwo').addClass('panel-collapse in');
  2760. instance.loadNewWidgets("CommonWidgets", null, InstalledAppId);
  2761. }
  2762. else {
  2763. instance.loadNewWidgets("PageWidgets", null, InstalledAppId);
  2764. }
  2765. }
  2766. structuredelete(event) {
  2767. let instance = this;
  2768. instance.DeleteparentStructures(event);
  2769. Unibase.Platform.Widgets.WidgetHiddenFields.Instance().StructureDesignDelete = instance.structDesignIdArrayDelete;
  2770. $(event).closest('.structureToDelete').remove();
  2771. }
  2772. DeleteparentStructures(event) {
  2773. let instance = this, StructureDesignId;
  2774. let divId = $(event).parent().parent().attr('id');
  2775. $("#" + divId).find(".droppablePlaceCol[data-parent=" + divId + "]").each(function () {
  2776. StructureDesignId = $(this).attr('id').split('_');
  2777. instance.structDesignIdArrayDelete.push({
  2778. 'StructureDesignId': Number(StructureDesignId[1]),
  2779. 'StructureId': Number(0),
  2780. 'ParentId': Number(0),
  2781. 'PortletId': Number(0),
  2782. 'DropOrderIndex': Number(0),
  2783. 'StructureHIndex': Number(0),
  2784. 'StructureVIndex': Number(0),
  2785. 'IsBlock': false,
  2786. 'ParentIndex': Number(0),
  2787. 'parentstructureid': Number(0),
  2788. 'StrctWidgetIndex': Number(0)
  2789. });
  2790. instance.DeleteprepareStructureDesign(event, $(this).attr('id'));
  2791. });
  2792. }
  2793. DeleteprepareStructureDesign(event, structureId) {
  2794. let instance = this, StructureDesignId = [];
  2795. $("#" + structureId).find(".structureDiv[data-parent=" + structureId + "]").each(function () {
  2796. let divId = $(this).attr('id');
  2797. $("#" + divId).find(".droppablePlaceCol[data-parent=" + divId + "]").each(function () {
  2798. StructureDesignId = $(this).attr('id').split('_');
  2799. instance.structDesignIdArrayDelete.push({
  2800. 'StructureDesignId': Number(StructureDesignId[1]),
  2801. 'StructureId': Number(0),
  2802. 'ParentId': Number(0),
  2803. 'PortletId': Number(0),
  2804. 'DropOrderIndex': Number(0),
  2805. 'StructureHIndex': Number(0),
  2806. 'StructureVIndex': Number(0),
  2807. 'IsBlock': false,
  2808. 'ParentIndex': Number(0)
  2809. });
  2810. instance.DeleteprepareStructureDesign(event, $(this).attr('id'));
  2811. });
  2812. });
  2813. }
  2814. loadNewWidgets(type, check, InstalledAppId, structuredesignId) {
  2815. var fileInstance = this.fileCacheHelper;
  2816. var instance = this;
  2817. if (InstalledAppId == undefined) {
  2818. InstalledAppId = 0;
  2819. }
  2820. else {
  2821. InstalledAppId = Number(InstalledAppId);
  2822. }
  2823. var url = "";
  2824. var bindingDiv = "";
  2825. var canProcess = false;
  2826. if (check == true && check != undefined) {
  2827. $('.widget-added-item').remove();
  2828. }
  2829. if ($('#' + type).find('.widget-added-item').length == 0)
  2830. canProcess = true;
  2831. if (canProcess) {
  2832. var portletId = $("#hf_PortletId").val();
  2833. if (type == "PageWidgets") {
  2834. bindingDiv = "divPageWidgetSlider";
  2835. Widgets.Managers.WidgetManager.Instance().getAppWidgets(InstalledAppId, portletId).then(function (response) {
  2836. instance.loadWidgetsToContainer(response, bindingDiv, InstalledAppId, portletId);
  2837. });
  2838. }
  2839. else if (type == "CommonWidgets") {
  2840. bindingDiv = "divCommonWidgetSlider";
  2841. Widgets.Managers.WidgetManager.Instance().getCommonWidgets(InstalledAppId, portletId).then(function (response) {
  2842. instance.loadWidgetsToContainer(response, bindingDiv, InstalledAppId, portletId);
  2843. });
  2844. }
  2845. else if (type == "AddedWidgets") {
  2846. bindingDiv = "divAddedWidgetSlider";
  2847. Widgets.Managers.WidgetManager.Instance().getAddedWidgets(InstalledAppId, portletId).then(function (response) {
  2848. instance.loadWidgetsToContainer(response, bindingDiv, InstalledAppId, portletId);
  2849. });
  2850. }
  2851. else if (type == "details-page") {
  2852. Widgets.Managers.WidgetManager.Instance().getAppWidgets(InstalledAppId, portletId).then(function (response) {
  2853. Unibase.Platform.Widgets.Components._Widget.Instance().loadDetailPageModal(response, 'App-Widgets', InstalledAppId, portletId);
  2854. });
  2855. Widgets.Managers.WidgetManager.Instance().getCommonWidgets(InstalledAppId, portletId).then(function (response) {
  2856. Unibase.Platform.Widgets.Components._Widget.Instance().loadDetailPageModal(response, 'common-widgets', InstalledAppId, portletId);
  2857. });
  2858. Widgets.Managers.WidgetManager.Instance().getAddedWidgets(InstalledAppId, portletId).then(function (response) {
  2859. Unibase.Platform.Widgets.Components._Widget.Instance().loadDetailPageModal(response, 'common-widgets', InstalledAppId, portletId);
  2860. });
  2861. }
  2862. else if (type == "dashbaord-page") {
  2863. Widgets.Managers.WidgetManager.Instance().getCommonWidgets(InstalledAppId, portletId).then(function (response) {
  2864. Unibase.Platform.Widgets.Components._Widget.Instance().loadDetailPageModal(response, 'common-widgets', InstalledAppId, portletId, structuredesignId);
  2865. });
  2866. }
  2867. }
  2868. }
  2869. loadWidgetsToContainer(widgets, bindingDiv, installedAppId, portletId) {
  2870. var instance = this.fileCacheHelper;
  2871. var widgetData = widgets.result;
  2872. let VisibleContainerId = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  2873. for (var i = 0; i < widgetData.length; i++) {
  2874. var html = '<li class="nav-item widget-item widget-added-item mt-10 list-widget-' + widgetData[i].WidgetId + ' widgetid-' + widgetData[i].WidgetId + '' + bindingDiv + ' dsl-block datagroup" data-toggle="popover-hover" data-img="tenants/themes/default/imgs/imgpopover.png" value=' + widgetData[i].WidgetId + ' id="ListWidgets">' +
  2875. '<input type="hidden" value=' + widgetData[i].WidgetId + ' id="hf_ListwidgetId" />' +
  2876. '<input type="hidden" value=' + widgetData[i].WidgetUrl + ' id="widgetUrl-' + widgetData[i].WidgetId + '" />' +
  2877. '<input type="hidden" value="' + widgetData[i].WidgetName + '" id="widgetName" />' +
  2878. '<input type="hidden" value=' + widgetData[i].IsFiltarable + ' id="IsFiltarable" />' +
  2879. '<input type="hidden" value=' + widgetData[i].UniqueId + ' id="hf_WidgetUniqueId" />' +
  2880. '<input type="hidden" value=' + widgetData[i].Width + ' id="widgetWidth" />' +
  2881. '<span><i class="las la-braille dragger"></i>' +
  2882. '<span title="' + widgetData[i].WidgetName + '" class="dsl-block-name" style="color:#2f343a !important" >' + widgetData[i].WidgetName + '</span>' +
  2883. '</span>' +
  2884. '</li>';
  2885. $('.' + bindingDiv + ':last').after(html);
  2886. }
  2887. var connecteddiv = "";
  2888. if (installedAppId == undefined) {
  2889. installedAppId == 0;
  2890. }
  2891. if (installedAppId != 0 && installedAppId != undefined) {
  2892. connecteddiv = "tab-container";
  2893. }
  2894. else {
  2895. connecteddiv = "widgetplace";
  2896. }
  2897. $('#' + VisibleContainerId).find(".sortableWidgetList").sortable({
  2898. connectWith: "." + connecteddiv + "",
  2899. cursor: 'move',
  2900. tolerance: "pointer",
  2901. placeholder: "ui-state-highlight",
  2902. helper: function (e, li) {
  2903. const copyHelper = li.clone().insertAfter(li);
  2904. return li.clone();
  2905. },
  2906. start: function () {
  2907. $('.divNewWidgetListContainer').removeAttr("style");
  2908. },
  2909. stop: function (e) {
  2910. $(".divNewWidgetListContainer").css("overflow-y", "auto");
  2911. },
  2912. });
  2913. $('#' + VisibleContainerId).find("#dashboardwidget-container, #tab-container").on('mouseover', '.structureToDelete', function () {
  2914. let VisibleContainerId = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  2915. $('#' + VisibleContainerId).find('.blocks-droppable-items-place').sortable({
  2916. items: Unibase.Platform.Widgets.Components.Widget.Instance().items,
  2917. connectWith: ' .widgetplace',
  2918. tolerance: "pointer",
  2919. forcePlaceholderSize: true,
  2920. receive: function (event, ui) {
  2921. console.log("blocks-droppable-items-place is firing");
  2922. let _parentId = $(event.target).parents('.droppablePlaceCol').attr('id');
  2923. $(ui.item).attr('data-parent', _parentId);
  2924. if ($("#hf_PortletId").val() == 0) {
  2925. var html = '<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" style="display: none;" aria-hidden="true"><div class="modal-dialog" role="document"><div class="modal-content"><div class="modal-header"><h5 class="modal-title" id="exampleModalLabel">Modal title</h5><button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button></div><div class="modal-body"><p>Please Add Portlet!</p></div><div class="modal-footer"><button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button><button type="button" class="btn btn-primary" data-dismiss="modal" onclick="_bizgazeNavigation_Add_Widgets.AddPortlet()";>AddPortlet</button></div></div></div></div>';
  2926. $(".details-footer").after(html);
  2927. $("#exampleModal").modal();
  2928. $("#tab-container").empty();
  2929. return null;
  2930. }
  2931. var id = ui.item.attr('id');
  2932. var widget_drag_id = "ListWidgets";
  2933. if (id == widget_drag_id) {
  2934. this.copyHelper = null;
  2935. var imgurl = ui.item.attr('data-img');
  2936. var widgetid = $(this).find("#hf_ListwidgetId").val();
  2937. var WidgetName = $(this).find("#widgetName").val();
  2938. var widgetUniqueId = $(this).find("#hf_WidgetUniqueId").val();
  2939. instance.loadJsFile("platform/widgets/components/widgethiddenfields.js", function () {
  2940. var uniqkey = Unibase.Platform.Widgets.WidgetHiddenFields.Instance().uniq_new_portletwid;
  2941. var html1 = '<div class="card-header"><div class="WidgetName pull-left" id="WidgetName"><a class="pull-left btn btn-sm"><strong>' + WidgetName + '</strong></a></div><div class="card-action-wrap editwidget editwidget-' + $(this).find("#hf_ListwidgetId").val() + ' pull-right" id="editwidget"><a href="javascript:;" onclick="Unibase.Platform.Widgets.Components.Widget.Instance().deletePortletWidgets(' + widgetid + ')"; title="Click here to Remove Widget"> <i class="ti-trash"></i></a></div></div>';
  2942. if (installedAppId != 0) {
  2943. ui.item.html('<div class="portletwidget-item dashboardwidget-item dashboarddisplaynone portletwidget-addeditem widgetItem-' + widgetid + ' widgetid-' + widgetid + ' col-sm-12 mb-sm-20 mb-2" id="' + widgetid + '"><div class="b-a card"><input type = "hidden" value = ' + widgetid + ' id = "hf_widgetId" /><input type = "hidden" value = ' + uniqkey + ' id = "hf_widgetId_uniq" />' + html1 + '<img src=' + imgurl + ' style="width:100%" class="img-responsive"></img></div></div>').contents().unwrap();
  2944. }
  2945. else {
  2946. ui.item.html('<div class="dashboardwidget-item dashboarddisplaynone dashboardwidget-addeditem widgetItem-' + widgetid + ' widgetid-' + widgetid + ' col-sm-12 mb-sm-20 mb-2" id="' + widgetid + '"><div class="b-a card"><input type = "hidden" value = ' + widgetid + ' id = "hf_widgetId" /><input type = "hidden" value = ' + uniqkey + ' id = "hf_widgetId_uniq" />' + html1 + '<img src=' + imgurl + ' style="width:100%" class="img-responsive"></img></div></div>').contents().unwrap();
  2947. }
  2948. $('.widgetItem-' + widgetid + '').parents(".widgetplace").find(".structureContent").removeClass("StructureToAlert");
  2949. Unibase.Platform.Widgets.WidgetHiddenFields.Instance().NewWidgets[uniqkey] = {
  2950. PortletId: Number($("#hf_PortletId").val()),
  2951. WidgetId: Number(widgetid),
  2952. WidgetName: WidgetName,
  2953. WidgetUniqueId: widgetUniqueId,
  2954. };
  2955. });
  2956. Unibase.Platform.Widgets.WidgetHiddenFields.Instance().uniq_new_portletwid = Number(Unibase.Platform.Widgets.WidgetHiddenFields.Instance().uniq_new_portletwid + 1);
  2957. }
  2958. },
  2959. sort: function (event, ui) {
  2960. let height = $(ui.item).height() + 'px';
  2961. $(".widgetplace").find(".ui-sortable-placeholder").css({
  2962. "visibility": "visible", "width": "100%", "height": height, "background-image": "linear-gradient(135deg, rgb(255 255 255) 0%, transparent 0%, rgb(255 255 255) 50%, rgb(112 108 108) 0%, rgb(240 240 240) 51%, transparent 38%, rgb(255 255 255))", "background-size": "12px 12px", "margin": "20px 0px"
  2963. });
  2964. let array = ui.item[0].classList;
  2965. array.forEach(function (item, index) {
  2966. if (item.includes('col-lg')) {
  2967. $(ui.item).siblings('.ui-sortable-placeholder').addClass('w-100').removeClass(item);
  2968. }
  2969. });
  2970. },
  2971. update: function (event, ui) {
  2972. Unibase.Themes.Compact.Components.Details.Instance().isPortletModified = true;
  2973. let array = ui.item[0].classList;
  2974. array.forEach(function (item, index) {
  2975. if (item.includes('col-lg')) {
  2976. $(ui.item).addClass('w-100').removeClass(item);
  2977. $(ui.item).siblings('.ui-sortable-placeholder').addClass('w-100').removeClass(item);
  2978. }
  2979. });
  2980. }
  2981. });
  2982. });
  2983. if (Unibase.Themes.Compact.Components.Index.Instance().isAppStructureEnable != false && Unibase.Themes.Compact.Components.Details.Instance().isAppStructEnable != false) {
  2984. $('#' + Unibase.Platform.Helpers.NavigationHelper.Instance().getLastContainerId()).find('.tab-container').sortable({
  2985. tolerance: "pointer",
  2986. forcePlaceholderSize: true,
  2987. receive: function (event, ui) {
  2988. console.log("Tab-container is firing");
  2989. if ($("#hf_PortletId").val() == 0) {
  2990. var html = '<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" style="display: none;" aria-hidden="true"><div class="modal-dialog" role="document"><div class="modal-content"><div class="modal-header"><h5 class="modal-title" id="exampleModalLabel">Modal title</h5><button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button></div><div class="modal-body"><p>Please Add Portlet!</p></div><div class="modal-footer"><button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button><button type="button" class="btn btn-primary" data-dismiss="modal" onclick="_bizgazeNavigation_Add_Widgets.AddPortlet()";>AddPortlet</button></div></div></div></div>';
  2991. $(".details-footer").after(html);
  2992. $("#exampleModal").modal();
  2993. $("#tab-container").empty();
  2994. return null;
  2995. }
  2996. var id = ui.item.attr('id');
  2997. var widget_drag_id = "ListWidgets";
  2998. if (id == widget_drag_id) {
  2999. $(".structuredelete ").addClass("hidden");
  3000. this.copyHelper = null;
  3001. var imgurl = ui.item.attr('data-img');
  3002. var widgetid = $(this).find("#hf_ListwidgetId").val();
  3003. var WidgetName = $(this).find("#widgetName").val();
  3004. var widgetUniqueId = $(this).find("#hf_WidgetUniqueId").val();
  3005. instance.loadJsFile("platform/widgets/components/widgethiddenfields.js", function () {
  3006. var uniqkey = Unibase.Platform.Widgets.WidgetHiddenFields.Instance().uniq_new_portletwid;
  3007. var html1 = '<div class="card-header"><div class="WidgetName pull-left" id="WidgetName">' +
  3008. '<a class="pull-left btn btn-sm"><strong>' + WidgetName + '</strong></a></div>' +
  3009. '<div class="card-action-wrap editwidget editwidget-' + $(this).find("#hf_ListwidgetId").val() + ' pull-right" id="editwidget"><a href="javascript:;" onclick="Unibase.Platform.Widgets.Components.Widget.Instance().deletePortletWidgets(' + widgetid + ')"; title="Click here to Remove Widget"> <i class="ti-trash"></i></a></div></div>';
  3010. if (installedAppId != 0) {
  3011. ui.item.html('<div class="portletwidget-item dashboardwidget-item dashboarddisplaynone portletwidget-addeditem widgetItem-' + widgetid + ' widgetid-' + widgetid + ' col-sm-12 mb-sm-20 mb-2" id="' + widgetid + '"><div class="b-a card"><input type = "hidden" value = ' + widgetid + ' id = "hf_widgetId" /><input type = "hidden" value = ' + uniqkey + ' id = "hf_widgetId_uniq" />' + html1 + '<img src=' + imgurl + ' style="width:100%" class="img-responsive"></img></div></div>').contents().unwrap();
  3012. }
  3013. else {
  3014. ui.item.html('<div class="dashboardwidget-item dashboarddisplaynone dashboardwidget-addeditem widgetItem-' + widgetid + ' widgetid-' + widgetid + ' col-sm-12 mb-sm-20 mb-2" id="' + widgetid + '"><div class="b-a card"><input type = "hidden" value = ' + widgetid + ' id = "hf_widgetId" /><input type = "hidden" value = ' + uniqkey + ' id = "hf_widgetId_uniq" />' + html1 + '<img src=' + imgurl + ' style="width:100%" class="img-responsive"></img></div></div>').contents().unwrap();
  3015. }
  3016. Unibase.Platform.Widgets.WidgetHiddenFields.Instance().NewWidgets[uniqkey] = {
  3017. PortletId: Number($("#hf_PortletId").val()),
  3018. WidgetId: Number(widgetid),
  3019. WidgetName: WidgetName,
  3020. WidgetUniqueId: widgetUniqueId,
  3021. };
  3022. });
  3023. Unibase.Platform.Widgets.WidgetHiddenFields.Instance().uniq_new_portletwid = Number(Unibase.Platform.Widgets.WidgetHiddenFields.Instance().uniq_new_portletwid + 1);
  3024. }
  3025. },
  3026. });
  3027. }
  3028. else {
  3029. $("#dashboardwidget-container").on('mouseover', '.structureToDelete', function () {
  3030. });
  3031. }
  3032. }
  3033. RenderEditDashboard(Container) {
  3034. var widgetsLen = Unibase.Platform.Widgets.WidgetHiddenFields.Instance().EditPortletAndWidgetsIds.length;
  3035. var html1 = '';
  3036. var portletid = $('#hf_PortletId').val();
  3037. for (var i = 0; i < widgetsLen; i++) {
  3038. if (Unibase.Platform.Widgets.WidgetHiddenFields.Instance().EditPortletAndWidgetsIds[i].PortletId == portletid) {
  3039. var html2 = '<div class="card-header"><div class="WidgetName pull-left" id="WidgetName"><a class="pull-left btn btn-sm"><strong>' + Unibase.Platform.Widgets.WidgetHiddenFields.Instance().EditPortletAndWidgetsIds[i].WidgetName + '</strong></a></div><div class="card-action-wrap editwidget editwidget-' + Unibase.Platform.Widgets.WidgetHiddenFields.Instance().EditPortletAndWidgetsIds[i].WidgetId + ' pull-right" id="editwidget"><a href="javascript:;" onclick="Unibase.Platform.Widgets.Components.Widget.Instance()deletePortletWidgets()";="" title="Click here to Remove Widget"> <i class="ti-trash"></i></a></div></div>';
  3040. if ($('#hf_ProfileInstalledappid').val() != 0) {
  3041. html2 = '<div class="portletwidget-item portletwidget-addeditem widgetItem-' + Unibase.Platform.Widgets.WidgetHiddenFields.Instance().EditPortletAndWidgetsIds[i].WidgetId + ' widgetid-' + Unibase.Platform.Widgets.WidgetHiddenFields.Instance().EditPortletAndWidgetsIds[i].WidgetId + ' col-sm-12"><div class="b-a card"><input type = "hidden" value = ' + Unibase.Platform.Widgets.WidgetHiddenFields.Instance().EditPortletAndWidgetsIds[i].WidgetId + ' id = "hf_widgetId" /><input type = "hidden" value = ' + Unibase.Platform.Widgets.WidgetHiddenFields.Instance().uniq_new_portletwid + ' id = "hf_widgetId_uniq" />' + html2 + '<img src=' + Unibase.Platform.Widgets.WidgetHiddenFields.Instance().EditPortletAndWidgetsIds[i].ImageUrl + ' style="width:100%" class="img-responsive"></img></div></div>';
  3042. }
  3043. else {
  3044. html2 = '<div class="dashboardwidget-item dashboardwidget-addeditem widgetItem-' + Unibase.Platform.Widgets.WidgetHiddenFields.Instance().EditPortletAndWidgetsIds[i].WidgetId + ' widgetid-' + Unibase.Platform.Widgets.WidgetHiddenFields.Instance().EditPortletAndWidgetsIds[i].WidgetId + ' col-sm-12"><div class="b-a card"><input type = "hidden" value = ' + Unibase.Platform.Widgets.WidgetHiddenFields.Instance().EditPortletAndWidgetsIds[i].WidgetId + ' id = "hf_widgetId" /><input type = "hidden" value = ' + Unibase.Platform.Widgets.WidgetHiddenFields.Instance().uniq_new_portletwid + ' id = "hf_widgetId_uniq" />' + html2 + '<img src=' + Unibase.Platform.Widgets.WidgetHiddenFields.Instance().EditPortletAndWidgetsIds[i].ImageUrl + ' style="width:100%" class="img-responsive"></img></div></div>';
  3045. }
  3046. html1 += html2;
  3047. }
  3048. }
  3049. if (html1 != "") {
  3050. if ($(Container).find("#tab-container").html() == "") {
  3051. $(Container).find("#tab-container").html(html1);
  3052. }
  3053. else {
  3054. }
  3055. }
  3056. }
  3057. deletePortletWidgets(portletWidgetId, widgetid) {
  3058. var portletWidgetId = portletWidgetId;
  3059. if (portletWidgetId == undefined) {
  3060. portletWidgetId = 0;
  3061. }
  3062. var divclass = "portletwidget-item";
  3063. var Installedappid = Number(Unibase.Themes.Providers.DetailHelper.installedAppId);
  3064. if (Installedappid == 0) {
  3065. if (portletWidgetId == 0) {
  3066. $('#' + widgetid).remove();
  3067. }
  3068. else {
  3069. $('.widgetItem-' + portletWidgetId).parent().remove();
  3070. }
  3071. }
  3072. if (Installedappid != 0) {
  3073. if (widgetid != undefined) {
  3074. $('#' + widgetid).remove();
  3075. }
  3076. else {
  3077. $('.widgetItem-' + portletWidgetId).remove();
  3078. }
  3079. }
  3080. Unibase.Platform.Widgets.WidgetHiddenFields.Instance().deleteWidget.push({
  3081. PortletWidgetId: portletWidgetId
  3082. });
  3083. if (widgetid) {
  3084. Unibase.Platform.Widgets.Components._Widget.Instance().existingwidgets = Unibase.Platform.Widgets.Components._Widget.Instance().existingwidgets.filter(id => id != +widgetid);
  3085. }
  3086. Unibase.Themes.Compact.Components.Details.Instance().isPortletModified = true;
  3087. }
  3088. ShowPortletPermissions() {
  3089. let instance = this;
  3090. instance.fileCacheHelper.loadJsFile('platform/portlets/components/portletpermission.js', function () {
  3091. instance.navigationHelper.popup(0, "", Unibase.Platform.Portlets.Components.PortletPermission.Instance(), null, Platform.Helpers.Size.Medium);
  3092. $(".toplayout-structures-panel").css({ "z-index": "1040" });
  3093. $(".biz-submenu").css({ "z-index": "1040" });
  3094. });
  3095. }
  3096. DeletePortletWidgetsByPortlet(PortletWidgetArr, Id) {
  3097. this.fileCacheHelper.loadJsFile("platform/core/helpers/message/messagehelper.js", function () {
  3098. if (PortletWidgetArr.length == 0) {
  3099. }
  3100. else {
  3101. }
  3102. });
  3103. }
  3104. loadNewPortlet(InstalledAppId, PortletId) {
  3105. let panel = "#" + Unibase.Themes.Compact.Components.Details.Instance()._containerId;
  3106. var obj = new Unibase.Themes.Compact.Components.Details();
  3107. var installedappid = Number(Unibase.Themes.Providers.DetailHelper.installedAppId);
  3108. var recordid = Unibase.Themes.Providers.DetailHelper.recordId;
  3109. obj._installedAppId = installedappid;
  3110. obj._recordId = recordid;
  3111. $(panel).find('.tab-container').empty();
  3112. Unibase.Themes.Compact.Components.Details.Instance().loadPortlets(obj);
  3113. }
  3114. ClosePermissionModal() {
  3115. $('.btn_addportlt').removeClass('hidden');
  3116. $('.btnEdit_portlet').removeClass('hidden');
  3117. $('.manage_pPermissions').removeClass('hidden');
  3118. $('.btn_dltportlet').removeClass('hidden');
  3119. }
  3120. closeCreate() {
  3121. var panel = $("#_bizgaze_modal").prev('.modal')[0].attributes.item.name;
  3122. $('#' + panel).modal('hide');
  3123. $('#' + panel).remove();
  3124. if ($("._bizgaze_create_container_EditScreen").length <= 0) {
  3125. $('.modal-backdrop').slice(1, $(".modal-backdrop").length - 2).remove();
  3126. $("#bizgaze_body").addClass("modal-open");
  3127. }
  3128. }
  3129. renderAddPortletText(isEdit, InstalledAppId) {
  3130. let containerId = Unibase.Platform.Helpers.NavigationHelper.Instance().getLastContainerId();
  3131. let portletId = Number($('#' + containerId).find(".tab-addeditem a.active").find('#hf_PortletId').val());
  3132. if (Unibase.Themes.Compact.Components.Details.Instance().isPortletModified == true) {
  3133. $('#' + containerId).find('#AddPortlets').attr('data-isClicked', 'true');
  3134. let panel = Unibase.Themes.Compact.Components.Details.Instance()._containerId;
  3135. Unibase.Themes.Compact.Components.Details.Instance().confirmPortletChangesModal(InstalledAppId, portletId, panel);
  3136. }
  3137. else {
  3138. this.fileCacheHelper.loadJsFile("platform/portlets/components/portlet.js", function () {
  3139. $(".biz-submenu").css({ "z-index": "" });
  3140. $(".biz-layout-3-left-nav").css({ "z-index": "" });
  3141. $(".toplayout-structures-panel").css({ "z-index": "1040" });
  3142. Unibase.Platform.Helpers.NavigationHelper.Instance().popup("", "", Unibase.Platform.Portlets.Components.Portlet.Instance(), function () {
  3143. let Id = Unibase.Platform.Helpers.NavigationHelper.Instance().getLastContainerId();
  3144. Unibase.Platform.Widgets.WidgetHiddenFields.Instance().isEdit = Boolean(isEdit);
  3145. if (!isEdit) {
  3146. Unibase.Platform.Portlets.Managers.PortletManager.Instance().getPortletsByInstalledApp(InstalledAppId, 0).then(function (response) {
  3147. if (response.result != null) {
  3148. $('#' + Id).find('.modal-header .modal-title').text('Create Portlet');
  3149. $('#' + Id).find("#txt_PortletIndex").val(response.result.length + 1);
  3150. $('#' + Id).find("#txt_PortletIndex").attr('disabled', 'true');
  3151. }
  3152. });
  3153. }
  3154. if (isEdit) {
  3155. Unibase.Platform.Portlets.Managers.PortletManager.Instance().getPortlet(portletId).then(function (response) {
  3156. var portlet = response.result;
  3157. $('#' + Id).find('.modal-header .modal-title').text('Edit Portlet');
  3158. $('#' + Id).find("#txt_PortletName").val(portlet.PortletName);
  3159. $('#' + Id).find("#txt_PortletIndex").val(portlet.PortletIndex);
  3160. $('#' + Id).find("#hf_portletviewallstages").val(String(portlet.ViewAllStages));
  3161. if (portlet.IsStructureEnabled == false) {
  3162. $('#' + Id).find("#chkIsStructureEnabled").prop('checked', false);
  3163. }
  3164. $('#chkIsStructureEnabled').on('change', function () {
  3165. var msg, enable;
  3166. enable = !$('#chkIsStructureEnabled').prop("checked");
  3167. if ($('#chkIsStructureEnabled').prop("checked")) {
  3168. msg = 'Are you sure want to enable structures for this portlet?';
  3169. }
  3170. else {
  3171. msg = 'Are you sure? Do you want to disable structures? <br><br> structures and layouts of widgets for this portlet will be deleted.you need to reconfigure structures when you enabled it.';
  3172. }
  3173. bootbox.confirm({
  3174. message: msg,
  3175. closeButton: false,
  3176. buttons: {
  3177. confirm: {
  3178. label: 'OK',
  3179. className: 'btn-success'
  3180. },
  3181. cancel: {
  3182. label: 'Cancel',
  3183. className: 'btn-danger'
  3184. }
  3185. },
  3186. callback: function (result) {
  3187. return __awaiter(this, void 0, void 0, function* () {
  3188. if (!result) {
  3189. $('#chkIsStructureEnabled').prop("checked", enable);
  3190. }
  3191. });
  3192. }
  3193. });
  3194. });
  3195. });
  3196. }
  3197. }, Platform.Helpers.Size.Medium);
  3198. });
  3199. }
  3200. }
  3201. savePortlet() {
  3202. var InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  3203. $('.btn_addportlt').removeClass('hidden');
  3204. $('.btnEdit_portlet').removeClass('hidden');
  3205. $('.manage_pPermissions').removeClass('hidden');
  3206. $('.btn_dltportlet').removeClass('hidden');
  3207. if (InstalledAppId == undefined || InstalledAppId == null) {
  3208. var InstalledAppId = 0;
  3209. }
  3210. if ($("#txt_PortletName").val() == "") {
  3211. MessageHelper.Instance().showError("Portlet name cant be empty.", "Bizgaze_SpiltErrorMessages");
  3212. return false;
  3213. }
  3214. if (InstalledAppId != undefined && InstalledAppId != null)
  3215. InstalledAppId = Number(Unibase.Themes.Providers.DetailHelper.installedAppId);
  3216. this.fileCacheHelper.loadJsFile("platform/portlets/requests/portlet.js", function () {
  3217. var viewallstages = true;
  3218. let VisibleContainerId = '#' + Unibase.Platform.Helpers.NavigationHelper.Instance().getLastContainerId();
  3219. let reqObj = new Unibase.Platform.Portlets.Requests.Portlet();
  3220. if (!Unibase.Platform.Widgets.WidgetHiddenFields.Instance().isEdit) {
  3221. reqObj.PortletName = String($(VisibleContainerId).find("#txt_PortletName").val());
  3222. reqObj.PortletIndex = Number($(VisibleContainerId).find("#txt_PortletIndex").val());
  3223. reqObj.IsMandatory = Boolean($(VisibleContainerId).find('#chkIsWidgetViewable').is(':checked')),
  3224. reqObj.ViewAllStages = viewallstages,
  3225. reqObj.IsStructureEnabled = Boolean($(VisibleContainerId).find("#chkIsStructureEnabled").prop("checked")),
  3226. reqObj.InstalledAppId = Number(Unibase.Themes.Providers.DetailHelper.installedAppId);
  3227. }
  3228. else {
  3229. if ($("#hf_portletviewallstages").val() == 'false') {
  3230. viewallstages = false;
  3231. }
  3232. reqObj.PortletId = Unibase.Themes.Compact.Components.Details.Instance().unibase_core_activeportletid;
  3233. reqObj.PortletName = String($(VisibleContainerId).find("#txt_PortletName").val());
  3234. reqObj.PortletIndex = Number($(VisibleContainerId).find("#txt_PortletIndex").val());
  3235. reqObj.IsMandatory = Boolean($(VisibleContainerId).find('#chkIsWidgetViewable').is(':checked')),
  3236. reqObj.ViewAllStages = viewallstages,
  3237. reqObj.InstalledAppId = Number(Unibase.Themes.Providers.DetailHelper.installedAppId),
  3238. reqObj.IsStructureEnabled = Boolean($(VisibleContainerId).find("#chkIsStructureEnabled").prop("checked"));
  3239. }
  3240. Unibase.Platform.Portlets.Managers.PortletManager.Instance().savePortlet(reqObj).then(function (response) {
  3241. var portlet = response.result;
  3242. Unibase.Platform.Helpers.NavigationHelper.Instance().closePopUp();
  3243. $('#' + Unibase.Platform.Helpers.NavigationHelper.Instance().getLastContainerId()).find('.findportlets_' + response.result.PortletId).attr('data_isappstructenable', response.result.IsStructureEnabled.toString());
  3244. Unibase.Themes.Compact.Components.Details.Instance().isAppStructEnable = response.result.IsStructureEnabled;
  3245. Unibase.Platform.Widgets.Components.Widget.Instance().loadNewPortlet(Number(response.result.InstalledAppId), portlet.PortletId);
  3246. });
  3247. });
  3248. }
  3249. DeletePortlet(installedappid) {
  3250. $(".biz-submenu").css({ "z-index": "1040" });
  3251. $(".biz-layout-3-left-nav").css({ "z-index": "1040" });
  3252. $(".toplayout-structures-panel").css({ "z-index": "1040" });
  3253. var instance = this;
  3254. bootbox.confirm({
  3255. message: "Are you sure you want to Delete",
  3256. closeButton: false,
  3257. buttons: {
  3258. confirm: {
  3259. label: 'Yes',
  3260. className: 'btn-success'
  3261. },
  3262. cancel: {
  3263. label: 'No',
  3264. className: 'btn-defualt'
  3265. }
  3266. },
  3267. callback: function (result) {
  3268. let containerId = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  3269. $(".biz-submenu").css({ "z-index": "9999" });
  3270. $(".biz-layout-3-left-nav").css({ "z-index": "9999" });
  3271. $(".toplayout-structures-panel").css({ "z-index": "9999" });
  3272. if (result) {
  3273. var layoutObj = ({
  3274. StructureDesign: Unibase.Platform.Widgets.WidgetHiddenFields.Instance().StructureDesigns,
  3275. AddWidgetsToPortlet: Unibase.Platform.Widgets.WidgetHiddenFields.Instance().NewWidgetsForPortlet,
  3276. DeletePortletWidgets: Unibase.Platform.Widgets.WidgetHiddenFields.Instance().deleteWidget,
  3277. PortletIndex: Unibase.Platform.Widgets.WidgetHiddenFields.Instance().Portlets,
  3278. PortletWidgetIndex: Unibase.Platform.Widgets.WidgetHiddenFields.Instance().PortletWidgets,
  3279. StructureDesignDelete: Unibase.Platform.Widgets.WidgetHiddenFields.Instance().StructureDesignDelete
  3280. });
  3281. Unibase.Platform.Widgets.Managers.WidgetManager.Instance().saveLayout(layoutObj).then(function (response) {
  3282. if (response.status == Unibase.Data.Status.Success) {
  3283. var activeportletid;
  3284. let ActivePortletIndex = Unibase.Themes.Providers.Detail_Settings.Instance().ActivePortlets.findIndex(x => x.InstalledAppId == installedappid);
  3285. if (ActivePortletIndex != -1) {
  3286. activeportletid = Unibase.Themes.Providers.Detail_Settings.Instance().ActivePortlets[ActivePortletIndex].ActivePortletId;
  3287. }
  3288. else {
  3289. activeportletid = Number($('#' + containerId).find('#layout-detail-tabs .tab-pane.tab-addeditem a.active').parent().attr('value'));
  3290. }
  3291. let portletId = activeportletid;
  3292. Unibase.Platform.Portlets.Managers.PortletManager.Instance().deletePortlet(portletId).then(function (response) {
  3293. if (response.status == Unibase.Data.Status.Error) {
  3294. MessageHelper.Instance().showError(response.message, "div_message");
  3295. }
  3296. else {
  3297. MessageHelper.Instance().showSuccess(response.message, '');
  3298. let recordid = Unibase.Themes.Providers.DetailHelper.recordId;
  3299. let installedappid = Unibase.Themes.Providers.DetailHelper.installedAppId;
  3300. if (installedappid == undefined) {
  3301. installedappid = 0;
  3302. }
  3303. var obj = Unibase.Themes.Compact.Components.Details.Instance();
  3304. obj._recordId = recordid;
  3305. obj._installedAppId = installedappid;
  3306. Unibase.Themes.Compact.Components.Details.Instance().loadPortlets(obj);
  3307. }
  3308. });
  3309. }
  3310. });
  3311. Unibase.Themes.Providers.Detail_Settings.Instance().ActivePortlets = [];
  3312. }
  3313. }
  3314. });
  3315. }
  3316. loadInstalledapp(InstalledAppId) {
  3317. if (InstalledAppId != 0) {
  3318. Unibase.Platform.Apps.Managers.AppManager.Instance().getInstallApp(InstalledAppId).then(function (response) {
  3319. if (response.result != null) {
  3320. let installedapparray = [];
  3321. installedapparray.push({
  3322. InstalledAppId: response.result.InstalledAppId,
  3323. AppTitle: response.result.AppTitle,
  3324. });
  3325. Widget.Instance().InstalledAppInfo(installedapparray, InstalledAppId);
  3326. }
  3327. });
  3328. }
  3329. else {
  3330. Widget.Instance().InstalledAppInfo(null, InstalledAppId);
  3331. }
  3332. }
  3333. deisgnsclick(e) {
  3334. var instance = this;
  3335. $('#frmUnibase_widgetBuilderAppearance').trigger("reset");
  3336. $('#option-back').removeClass('hidden');
  3337. $("#ddlWidgetDesign option:selected").val($(e).attr('data-designValue'));
  3338. $("#ddlWidgetDesign option:selected").text($(e).attr('data-designs'));
  3339. $('#ddlWidgetDesign').change();
  3340. instance.backOption = 'Mode-2';
  3341. $('.KPIDesigns span.rounded-circle').remove();
  3342. $('#kpi-design-tab').addClass('hidden');
  3343. $('.static_js_hidden').removeClass('hidden');
  3344. let html = '<div class="d-flex justify-content-end"><span class="bg-success rounded-circle p-1 position-absolute mr-2" style="margin-top:-40px;"><i class="la la-check font-24 text-white"></i></span></div>';
  3345. $(e).append(html);
  3346. if ($(e).attr('data-designs') == 'Details_Custom') {
  3347. $('#kpi-design-tab, #tab_design').removeClass('active show');
  3348. $('.static_js_hidden').removeClass('hidden').click();
  3349. }
  3350. else {
  3351. $('#drawer_push').addClass('biz-drawer-toggle');
  3352. $('#biz-wrapper').addClass('biz-drawer-pushright');
  3353. $('#PivotIcon').addClass('d-none');
  3354. $('#Preview-Designs').removeClass('hidden').click();
  3355. instance.CreateWidgetPreview();
  3356. }
  3357. }
  3358. bindWidgetTypes(installedappid) {
  3359. this.fileCacheHelper.loadJsFile("platform/widgets/components/widget.template.js", function () {
  3360. Unibase.Platform.Widgets.Managers.WidgetManager.Instance().getWidgetTyes().then(function (response) {
  3361. if (response != null) {
  3362. var res = response.result;
  3363. let html = "";
  3364. for (let i = 0; i < res.length; i++) {
  3365. var widgettype = res[i];
  3366. var template = Unibase.Widgets.Widget_Template.Instance().loadWidgetTypesDropdownTemplate();
  3367. var templateScript = Handlebars.compile(template);
  3368. var context = { "WidgetTypeId": widgettype.WidgetTypeId, "WidgetTypeName": widgettype.WidgetTypeName };
  3369. html += templateScript(context);
  3370. }
  3371. jQuery("#ddlWidgetType").html(html);
  3372. if (installedappid != 0)
  3373. jQuery("#ddlWidgetType").val(2);
  3374. jQuery("#ddlWidgetType").trigger('change');
  3375. }
  3376. });
  3377. });
  3378. }
  3379. bindWidgetFormats() {
  3380. Unibase.Platform.Widgets.Managers.WidgetManager.Instance().getWidgetFormats().then(function (response) {
  3381. if (response != null) {
  3382. var res = response.result;
  3383. for (let i = 0; i < res.length; i++) {
  3384. var widgetformat = res[i];
  3385. $("#ddlWidgetFormat").append('<option value="' + widgetformat.WidgetFormatId + '" data-table="' + widgetformat.WidgetFormatName + '">' + widgetformat.WidgetFormatName + '</option>');
  3386. }
  3387. }
  3388. });
  3389. }
  3390. bindWidgetLayouts() {
  3391. this.fileCacheHelper.loadJsFile("platform/widgets/managers/widgetmanager.js", null);
  3392. this.fileCacheHelper.loadJsFile("platform/widgets/components/widget.template.js", null);
  3393. Unibase.Platform.Widgets.Managers.WidgetManager.Instance().getWidgetLayouts().then(function (response) {
  3394. if (response != null) {
  3395. var res = response.result;
  3396. let html = "<option value=''>Select WidgetLayout</option><option value='0'>User Designed</option>";
  3397. for (let i = 0; i < res.length; i++) {
  3398. var widgetlayout = res[i];
  3399. var template = Unibase.Widgets.Widget_Template.Instance().loadWidgetLayoutsDropdownTemplate();
  3400. var templateScript = Handlebars.compile(template);
  3401. var context = { "WidgetLayoutId": widgetlayout.WidgetLayoutId, "WidgetLayoutName": widgetlayout.WidgetLayoutName };
  3402. html += templateScript(context);
  3403. if (widgetlayout.WidgetLayoutName == 'Detail') {
  3404. $("#layoutDetails").attr('data-layoutid', widgetlayout.WidgetLayoutId);
  3405. }
  3406. if (widgetlayout.WidgetLayoutName == 'KPI') {
  3407. $("#layoutKPI").attr('data-layoutid', widgetlayout.WidgetLayoutId);
  3408. }
  3409. if (widgetlayout.WidgetLayoutName == 'Report') {
  3410. $("#layoutChartReport").attr('data-layoutid', widgetlayout.WidgetLayoutId);
  3411. }
  3412. }
  3413. jQuery("#ddlWidgetLayout").html(html);
  3414. }
  3415. });
  3416. }
  3417. bindWidgetDesigns(designid, layoutid) {
  3418. var instance = this, LayoutId;
  3419. if (layoutid == undefined || layoutid == null || layoutid == '') {
  3420. LayoutId = $("#ddlWidgetLayout option:selected").val();
  3421. }
  3422. else {
  3423. LayoutId = layoutid;
  3424. }
  3425. this.fileCacheHelper.loadJsFile("platform/widgets/managers/widgetmanager.js", null);
  3426. this.fileCacheHelper.loadJsFile("platform/widgets/components/widget.template.js", null);
  3427. if (LayoutId != 0) {
  3428. Unibase.Platform.Widgets.Managers.WidgetManager.Instance().getWidgetDesigns(LayoutId).then(function (response) {
  3429. var load_design = instance.defautSettings.filter(function (o) { return o.widgetdesignid === 20210628; });
  3430. let mode = load_design[0].mode, loaddesign = load_design[0].loadDesigns, defaultMode = load_design[0].defaultMode = "editing";
  3431. instance.defautSettings = [];
  3432. let name = { "widgetdesignid": 20210628, "mode": mode, "loadDesigns": loaddesign, "defaultMode": defaultMode };
  3433. instance.defautSettings.push(name);
  3434. if (load_design[0].loadDesigns < 1) {
  3435. for (var i = 0; i < response.result.length; i++) {
  3436. instance.defautSettings.push(response.result[i]);
  3437. }
  3438. load_design[0].loadDesigns++;
  3439. }
  3440. if (response != null) {
  3441. var res = response.result;
  3442. let html = "";
  3443. $('#design-Library').empty();
  3444. let kpiOrdering = ["KPI_Left_Bar_color_Icon", "KPI_Icon_Bg_Color", "KPI_KPISingleValueWithborder", "KPI_KPISingleValueWithPercentage_ProgressBar", "KPI_KPISingleValueWithPercentage_BgColor", "KPI_TwoValue_BgColor", "KPI_ComparisonBottomBar_Color", "KPI_TwoValue_BottomBar_color", "KPI_ComparisonRightBar_color", "KPI_TwoValue_LineCenter", "KPI_KPISingleValueWithPie_Icon", "KPI_Icon", "KPI_Icon_Color", "KPI_Default", "KPI_KPISingleValueWithPercentage", "KPI_TwoValue", "KPI_OwlCarouselSlider", "KPI_Comparison", "Kpi_fulfillment", "KPI_CarouselSlider", "KPI_CarouselSliderBgColor"];
  3445. for (let i = 0; i < res.length; i++) {
  3446. var widgetdesigns = res[i];
  3447. var template = Unibase.Widgets.Widget_Template.Instance().loadWidgetDesignsDropdownTemplate();
  3448. var templateScript = Handlebars.compile(template);
  3449. var context = { "WidgetDesignId": widgetdesigns.WidgetDesignId, "WidgetDesignName": widgetdesigns.WidgetDesignName };
  3450. html += templateScript(context);
  3451. var default_Settings = instance.defautSettings.filter(function (o) { return o.WidgetDesignName === widgetdesigns.WidgetDesignName; });
  3452. let TitleName, idParameter = [], previewResponse;
  3453. TitleName = JSON.parse(default_Settings[0].defaultsettings).Name;
  3454. var CssPropertyCreate = [{
  3455. "BorderWidth": JSON.parse(default_Settings[0].defaultsettings).BorderWidth,
  3456. "BorderColor": JSON.parse(default_Settings[0].defaultsettings).BorderColor,
  3457. "BorderType": JSON.parse(default_Settings[0].defaultsettings).BorderType,
  3458. "BorderRadius": JSON.parse(default_Settings[0].defaultsettings).BorderRadius,
  3459. "FontSize": JSON.parse(default_Settings[0].defaultsettings).FontSize,
  3460. "FontFamily": JSON.parse(default_Settings[0].defaultsettings).FontStyle,
  3461. "BackgroundColor": JSON.parse(default_Settings[0].defaultsettings).BackgroundColor
  3462. }];
  3463. if ($('#ddlWidgetLayout option:selected').text() == 'KPI') {
  3464. var viewertype = instance.defautSettings.filter(function (o) { return o.WidgetDesignName === kpiOrdering[i]; });
  3465. idParameter.push({ "WidgetName": JSON.parse(viewertype[0].defaultsettings).Name, "PortletWidgetId": 22501 });
  3466. var classname = JSON.parse(viewertype[0].defaultsettings).classname;
  3467. var viewerComponent = new Unibase.Themes.Compact.KpiWidgets[classname]();
  3468. var kpidesignhtml = viewerComponent.html(idParameter, 0);
  3469. var designhtml = '<li class="col-md-4 p-2 KPIDesigns" onclick="Unibase.Platform.Widgets.Components.Widget.Instance().deisgnsclick(this);" data-designValue=' + viewertype[0].WidgetDesignId + ' data-designs="' + viewertype[0].WidgetDesignName + '">' + kpidesignhtml + '</li>';
  3470. $('#design-Library').append(designhtml);
  3471. if (viewertype[0].WidgetDesignName == 'KPI_Icon' || viewertype[0].WidgetDesignName == 'KPI_KPISingleValueWithPercentage' || viewertype[0].WidgetDesignName == 'KPI_Default' || viewertype[0].WidgetDesignName == 'KPI_TwoValue' || viewertype[0].WidgetDesignName == 'KPI_OwlCarouselSlider' || viewertype[0].WidgetDesignName == 'KPI_Comparison' || viewertype[0].WidgetDesignName == 'KPI_CarouselSlider' || viewertype[0].WidgetDesignName == 'KPI_Icon_Color' || viewertype[0].WidgetDesignName == 'KPI_CarouselSliderBgColor') {
  3472. $(`${"li.KPIDesigns"}[data-designs="${viewertype[0].WidgetDesignName}"]`).addClass('hidden');
  3473. }
  3474. }
  3475. if ($('#ddlWidgetLayout option:selected').text() == 'Report') {
  3476. var designhtml = '<li class="col-md-6 p-1 KPIDesigns d-flex flex-column align-items-center" onclick="Unibase.Platform.Widgets.Components.Widget.Instance().deisgnsclick(this);" data-designValue=' + widgetdesigns.WidgetDesignId + ' data-designs="' + widgetdesigns.WidgetDesignName + '"><img src="' + JSON.parse(default_Settings[0].defaultsettings).image + '" class="img-fluid h-200"><span>' + JSON.parse(default_Settings[0].defaultsettings).Name + '</span></li>';
  3477. $('#design-Library').append(designhtml);
  3478. }
  3479. if ($('#ddlWidgetLayout option:selected').text() == 'Detail') {
  3480. var viewertype = instance.defautSettings.filter(function (o) { return o.WidgetDesignName === widgetdesigns.WidgetDesignName; });
  3481. var classname = JSON.parse(viewertype[0].defaultsettings).classname;
  3482. idParameter.push({ "WidgetName": JSON.parse(viewertype[0].defaultsettings).Name, "PortletWidgetId": 22501 });
  3483. var viewerComponent = new Unibase.Themes.Compact.DetailWidgets[classname]();
  3484. var detaildesignhtml = viewerComponent.html(idParameter, 0);
  3485. var designhtml = '<li class="col-md-6 p-1 KPIDesigns" onclick="Unibase.Platform.Widgets.Components.Widget.Instance().deisgnsclick(this);" data-designs=' + viewertype[0].WidgetDesignName + ' data-designValue="' + viewertype[0].WidgetDesignId + '">' + detaildesignhtml + '</li>';
  3486. $('#design-Library').append(designhtml);
  3487. if (viewertype[0].WidgetDesignName == 'Details_SplitColumn' || viewertype[0].WidgetDesignName == 'Details_SingleData') {
  3488. $(`${"li.KPIDesigns"}[data-designs="${viewertype[0].WidgetDesignName}"]`).addClass('hidden');
  3489. }
  3490. }
  3491. }
  3492. jQuery("#ddlWidgetDesign").html(html);
  3493. if (designid != 0)
  3494. jQuery("#ddlWidgetDesign").val(designid);
  3495. if (designid == 0) {
  3496. if ($("#ddlWidgetLayout option:selected").text() == "Report")
  3497. $("#ddlWidth").val(12);
  3498. else
  3499. $("#ddlWidth").val(4);
  3500. }
  3501. }
  3502. });
  3503. }
  3504. var lowercase = $("#ddlWidgetLayout option:selected").text().toLowerCase();
  3505. $("#userDefinedDiv, #DetailDiv, #KPIDiv, #ListDiv").addClass("hidden");
  3506. let InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  3507. if (RegExp("detail").test(lowercase)) {
  3508. $('.columntab span').text('Columns');
  3509. $('.settings span').text('Settings');
  3510. $('.collapaseDiv').addClass("hidden");
  3511. $("#DetailDiv").removeClass("hidden");
  3512. $("#AppConfigurationDiv").removeClass("hidden");
  3513. $('.userDesignedURL').addClass('hidden');
  3514. $("#txt_WidgetUrlFile").removeClass("required");
  3515. $('.userDesignedURL').addClass('hidden');
  3516. $(".parametersDiv").removeClass("hidden");
  3517. $(".ReportDiv").removeClass("hidden");
  3518. $("#ddlReport").addClass("required");
  3519. $(".div_DesignName").addClass("hidden");
  3520. $("#ddlWidgetDesign").addClass("required");
  3521. $("#div_Value1").addClass('hidden');
  3522. $("#div_Value2").addClass('hidden');
  3523. $("#div_Value3").addClass('hidden');
  3524. $("#div_WidgetURL").removeClass("hidden");
  3525. $('.settings, .details, .columntab, .eventdisabled').removeClass('clickEventDisabled');
  3526. $('.columnCursor').removeClass('cursordisbaled');
  3527. $('#drawer_push').removeClass('cursordisbaled');
  3528. $('.nav-link.details').closest('ul').removeClass('cursordisbaled');
  3529. $('.DetailsColumns').removeClass('hidden');
  3530. $('#kpiheight').addClass('hidden');
  3531. $('#border-radius').closest('li').addClass('hidden');
  3532. $('.chooseImage').removeClass('d-flex').addClass('hidden');
  3533. $('#li_WidgetDetailIcon').removeClass('hidden');
  3534. $('#li_WidgetDetailHeader').removeClass('hidden');
  3535. $(".details-Widget").removeClass('hidden');
  3536. $('#list-style-type').parent().addClass('d-flex').removeClass('hidden');
  3537. $('#border-radius').parent().removeClass('d-flex').addClass('hidden');
  3538. $('#ddlheight').removeClass('required');
  3539. }
  3540. else if (RegExp("kpi").test(lowercase)) {
  3541. $('.columntab span').text('Columns');
  3542. $('.settings span').text('Settings');
  3543. $("#KPIDiv").removeClass("hidden");
  3544. $('.collapaseDiv').addClass("hidden");
  3545. $("#AppConfigurationDiv").removeClass("hidden");
  3546. $('.userDesignedURL').addClass('hidden');
  3547. $("#txt_WidgetUrlFile").removeClass("required");
  3548. $('.userDesignedURL').addClass('hidden');
  3549. $(".parametersDiv").removeClass("hidden");
  3550. $(".ReportDiv").removeClass("hidden");
  3551. $("#ddlReport").addClass("required");
  3552. $(".div_DesignName").addClass("hidden");
  3553. $("#ddlWidgetDesign").addClass("required");
  3554. $("#div_Value1").removeClass('hidden');
  3555. $("#div_WidgetURL").removeClass("hidden");
  3556. $('.settings, .details, .columntab, .eventdisabled').removeClass('clickEventDisabled');
  3557. $('.columnCursor').removeClass('cursordisbaled');
  3558. $('#drawer_push').removeClass('cursordisbaled');
  3559. $('.nav-link.details').closest('ul').removeClass('cursordisbaled');
  3560. $('.DetailsColumns').addClass('hidden');
  3561. $('#border-radius').closest('li').removeClass('hidden');
  3562. $('.chooseImage').addClass('d-flex').removeClass('hidden');
  3563. $('#div_LinkReportId').parent().removeClass('hidden');
  3564. $('#li_WidgetDetaillinkURL').removeClass('hidden');
  3565. $('#li_WidgetDetailIcon').addClass('hidden');
  3566. $('#li_WidgetDetailHeader').addClass('hidden');
  3567. $(".details-Widget").addClass('hidden');
  3568. $('#list-style-type').parent().removeClass('d-flex').addClass('hidden');
  3569. $('#border-radius').parent().addClass('d-flex').removeClass('hidden');
  3570. $('#ddlheight').addClass('required');
  3571. $('#kpiheight').children().removeClass('hidden');
  3572. }
  3573. else if (RegExp("report").test(lowercase)) {
  3574. $("#AppConfigurationDiv").removeClass("hidden");
  3575. $("#txt_WidgetUrlFile").removeClass("required");
  3576. $('.userDesignedURL').addClass('hidden');
  3577. $(".parametersDiv").removeClass("hidden");
  3578. $(".ReportDiv").removeClass("hidden");
  3579. $('.collapaseDiv').removeClass("hidden");
  3580. $("#ddlReport").addClass("required");
  3581. $(".div_DesignName").addClass("hidden");
  3582. $("#ddlWidgetDesign").addClass("required");
  3583. $("#div_Value1").addClass('hidden');
  3584. $("#div_Value2").addClass('hidden');
  3585. $("#div_Value3").addClass('hidden');
  3586. $("#div_WidgetURL").removeClass("hidden");
  3587. $('.settings, .details, .columntab, .eventdisabled').removeClass('clickEventDisabled');
  3588. $('.columnCursor').removeClass('cursordisbaled');
  3589. $('#drawer_push').removeClass('cursordisbaled');
  3590. $('.nav-link.details').closest('ul').removeClass('cursordisbaled');
  3591. $('.DetailsColumns').addClass('hidden');
  3592. $('#kpiheight').addClass('hidden');
  3593. $('#border-radius').closest('li').addClass('hidden');
  3594. $('.chooseImage').removeClass('d-flex').addClass('hidden');
  3595. $('#div_LinkReportId').parent().addClass('hidden');
  3596. $('#li_WidgetDetaillinkURL').addClass('hidden');
  3597. $('#li_WidgetDetailHeader').addClass('hidden');
  3598. $('#li_WidgetDetailIcon').addClass('hidden');
  3599. $(".details-Widget").addClass('hidden');
  3600. $('#list-style-type').parent().removeClass('d-flex').addClass('hidden');
  3601. $('#border-radius').parent().addClass('d-flex').removeClass('hidden');
  3602. $('.columntab span').text('Settings');
  3603. $('.settings span').text('Configuration');
  3604. if (InstalledAppId == 0) {
  3605. $('#ddlheight').addClass('required');
  3606. $('#kpiheight').children().removeClass('hidden');
  3607. $('#kpiheight').removeClass('hidden');
  3608. }
  3609. if (InstalledAppId != 0) {
  3610. $('#ddlheight').removeClass('required');
  3611. }
  3612. }
  3613. else {
  3614. $('.columntab span').text('Columns');
  3615. $('.settings span').text('Settings');
  3616. $("#AppConfigurationDiv").addClass("hidden");
  3617. $("#txt_WidgetUrlFile").removeClass("required hidden");
  3618. $('.userDesignedURL').removeClass('hidden');
  3619. $('#ddlheight').removeClass('required');
  3620. $(".parametersDiv").removeClass("hidden");
  3621. $(".ReportDiv").removeClass("hidden");
  3622. $('.collapaseDiv').addClass("hidden");
  3623. $("#ddlReport").addClass("required");
  3624. $(".div_DesignName").addClass("hidden");
  3625. $("#ddlWidgetDesign").addClass("required");
  3626. $("#div_Value1").addClass('hidden');
  3627. $("#div_Value2").addClass('hidden');
  3628. $("#div_Value3").addClass('hidden');
  3629. $("#div_WidgetURL").removeClass("hidden");
  3630. $('.settings, .details, .columntab, .eventdisabled').removeClass('clickEventDisabled');
  3631. $('.columnCursor').removeClass('cursordisbaled');
  3632. $('#drawer_push').removeClass('cursordisbaled');
  3633. $('.nav-link.details').closest('ul').removeClass('cursordisbaled');
  3634. $('.DetailsColumns').addClass('hidden');
  3635. $('#kpiheight').removeClass('hidden');
  3636. $('#border-radius').closest('li').addClass('hidden');
  3637. $('.chooseImage').removeClass('d-flex').addClass('hidden');
  3638. $('#div_LinkReportId').parent().addClass('hidden');
  3639. $('#li_WidgetDetaillinkURL').addClass('hidden');
  3640. $('#li_WidgetDetailHeader').addClass('hidden');
  3641. $('#li_WidgetDetailIcon').addClass('hidden');
  3642. $(".details-Widget").addClass('hidden');
  3643. $('#list-style-type').parent().removeClass('d-flex').addClass('hidden');
  3644. $('#border-radius').parent().addClass('d-flex').removeClass('hidden');
  3645. }
  3646. }
  3647. bindReports() {
  3648. var url = _appsettings.server_url() + '/apis/v4/unibase/platform/analytics/reports';
  3649. AutoCompleteHelper.getHelper().Create("#ddlReport", "hfReportAutoComplete", url, function (response) {
  3650. var data = response;
  3651. });
  3652. AutoCompleteHelper.getHelper().Create("#ddlLinkReportId", "hfddlLinkReportId", url, function (response) {
  3653. var data = response;
  3654. });
  3655. }
  3656. bindHighlighter() {
  3657. this.fileCacheHelper.loadJsFile("platform/widgets/components/widget.template.js", function () {
  3658. Unibase.Platform.Widgets.Managers.WidgetManager.Instance().getColors().then(function (response) {
  3659. if (response.result != null) {
  3660. var res = response.result;
  3661. let html = "";
  3662. for (let i = 0; i < res.length; i++) {
  3663. var colors = res[i];
  3664. var template = Unibase.Widgets.Widget_Template.Instance().loadWidgetHighlighterDropdownTemplate();
  3665. var templateScript = Handlebars.compile(template);
  3666. var context = { "ColorId": colors.ColorId, "ColorName": colors.ColorName, "ColorCode": colors.ColorCode };
  3667. html += templateScript(context);
  3668. }
  3669. jQuery("#ddlColorCode").html(html);
  3670. }
  3671. });
  3672. });
  3673. }
  3674. getReportColumns(iscondition) {
  3675. var instance = this;
  3676. var EditMode = instance.defautSettings.filter(function (o) { return o.widgetdesignid === 20210628; });
  3677. if (EditMode[0].mode == 'Create_Mode') {
  3678. $("#ddlColumns").empty();
  3679. $("#ddlSelectedValue_1").empty();
  3680. $("#ddlSelectedValue_2").empty();
  3681. $("#ddlSelectedValue_3").empty();
  3682. let ReportId = Number($("#ddlReport option:selected").val());
  3683. var fromDate = "";
  3684. var toDate = "";
  3685. var cf_fromDate = Unibase.Platform.Helpers.NavigationHelper.commonFilter_FromDate;
  3686. var cf_toDate = Unibase.Platform.Helpers.NavigationHelper.commonFilter_ToDate;
  3687. if (cf_fromDate != null && cf_toDate != null) {
  3688. fromDate = cf_fromDate.toString();
  3689. toDate = cf_toDate.toString();
  3690. }
  3691. else {
  3692. fromDate = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateformat(new Date(Unibase.Platform.Helpers.DateTimeHelper.Instance().currentDate()), "YYYY/MM/DD");
  3693. toDate = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateformat(new Date(Unibase.Platform.Helpers.DateTimeHelper.Instance().currentDate()), "YYYY/MM/DD");
  3694. }
  3695. var postdata = {
  3696. ReportId: ReportId,
  3697. IsEditReport: true,
  3698. FromDate: fromDate,
  3699. ToDate: toDate
  3700. };
  3701. this.fileCacheHelper.loadJsFile("platform/widgets/components/widget.template.js", function () {
  3702. Unibase.Platform.Analytics.Managers.ReportManager.Instance().getReportInfo(postdata).then(function (response) {
  3703. if (response.result.ReportInfo.ReportColumns != null) {
  3704. let html = "<option value=''>Select Column</option>";
  3705. for (let i = 0; i < response.result.ReportInfo.ReportColumns.length; i++) {
  3706. var reportcolumn = response.result.ReportInfo.ReportColumns[i];
  3707. var template = Unibase.Widgets.Widget_Template.Instance().loadReportColumnDropdownTemplate();
  3708. var templateScript = Handlebars.compile(template);
  3709. var context = { "ReportColumnId": reportcolumn.ReportColumnId, "ReportColumnName": reportcolumn.ReportColumnName };
  3710. html += templateScript(context);
  3711. }
  3712. jQuery("#ddlColumns").html(html);
  3713. jQuery("#ddlSelectedValue_1").html(html);
  3714. jQuery("#ddlSelectedValue_2").html(html);
  3715. jQuery("#ddlSelectedValue_3").html(html);
  3716. }
  3717. instance.DataListTypeId = response.result.DataListTypeId;
  3718. instance.DataListId = response.result.DataListId;
  3719. if (instance.DataListTypeId == 4) {
  3720. instance.getDataListColumns();
  3721. }
  3722. });
  3723. });
  3724. }
  3725. }
  3726. getDataListColumns() {
  3727. var instance = this;
  3728. var datalistparams = "";
  3729. $("#ulparamers").find(".parameterrowheading").each(function () {
  3730. var colName = $(this).find("#row1").text();
  3731. var colValueName = $(this).find("#row3").text();
  3732. var InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  3733. var colValue = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_" + colValueName);
  3734. if (colValue != undefined) {
  3735. colValue = colValue.Value;
  3736. }
  3737. else {
  3738. colValue = 0;
  3739. }
  3740. if (colValueName == 'filter_fromdate' || colValueName == 'filter_todate') {
  3741. var fromDate = $("#hfBizgaze_FromDate").val();
  3742. var toDate = $("#hfBizgaze_ToDate").val();
  3743. var today = new Date();
  3744. var month = today.getMonth() + 1;
  3745. var day = today.getDate();
  3746. today = today.getFullYear() + '-' + (month < 10 ? '0' : '') + month + '-' + (day < 10 ? '0' : '') + day;
  3747. if (fromDate == undefined || toDate == undefined) {
  3748. colValue = "'" + today + "'";
  3749. }
  3750. }
  3751. if (colValueName == 'identity_partitionFromDate') {
  3752. colValue = "'" + Unibase.Platform.Membership.Infos.Identity.getCurrentUser().partitionFromDate.toString() + "'";
  3753. }
  3754. if (colValueName == 'identity_partitionToDate') {
  3755. colValue = "'" + Unibase.Platform.Membership.Infos.Identity.getCurrentUser().partitionToDate.toString() + "'";
  3756. }
  3757. datalistparams = datalistparams + '@' + colName + '=' + colValue + ',';
  3758. });
  3759. datalistparams = datalistparams.substring(0, datalistparams.length - 1);
  3760. Unibase.Platform.Analytics.Managers.ReportManager.Instance().getDataListColumns(instance.DataListId, null, datalistparams).then(function (datalistResponse) {
  3761. if (datalistResponse.length == 0) {
  3762. alert("Please enter datalist parameters");
  3763. $(".section_DetailWidget").addClass("hidden");
  3764. }
  3765. else {
  3766. $(".section_DetailWidget").removeClass("hidden");
  3767. let html = "<option value=''>Select Column</option>";
  3768. for (let i = 0; i < datalistResponse.length; i++) {
  3769. var datalistcolumn = datalistResponse[i];
  3770. var template = Unibase.Widgets.Widget_Template.Instance().loadReportColumnDropdownTemplate();
  3771. var templateScript = Handlebars.compile(template);
  3772. var context = { "ReportColumnId": datalistcolumn.ColumnId, "ReportColumnName": datalistcolumn.ColumnName };
  3773. html += templateScript(context);
  3774. }
  3775. jQuery("#ddlColumns").html(html);
  3776. jQuery("#ddlSelectedValue_1").html(html);
  3777. jQuery("#ddlSelectedValue_2").html(html);
  3778. jQuery("#ddlSelectedValue_3").html(html);
  3779. }
  3780. });
  3781. }
  3782. getParameterValues(Installedappid) {
  3783. $("#ddlParameterValue").empty();
  3784. Widget.Instance().loadIdentity();
  3785. let installedappid = $("#ddlAppProviders").val().toString().split(',').map(Number);
  3786. let installedappids = Array();
  3787. for (let x = 0; x < installedappid.length; x++) {
  3788. let s = {
  3789. InstalledAppId: installedappid[x]
  3790. };
  3791. installedappids.push(s);
  3792. }
  3793. this.fileCacheHelper.loadJsFile("platform/widgets/components/widget.template.js", function () {
  3794. Unibase.Platform.Widgets.Managers.WidgetManager.Instance().getReportColumnsByInstalledappIds(installedappids).then(function (response) {
  3795. if (response.result != null) {
  3796. let html = "";
  3797. for (let i = 0; i < response.result.length; i++) {
  3798. var reportcolumn = response.result[i];
  3799. html += "<option value=" + reportcolumn.ReportColumnId + " data-table=" + reportcolumn.DataType + ">" + reportcolumn.ReportColumnName + "</option>";
  3800. }
  3801. jQuery("#ddlParameterValue").append(html);
  3802. }
  3803. });
  3804. });
  3805. if (Installedappid != 0) {
  3806. let RecordId = Unibase.Themes.Providers.DetailHelper.recordId;
  3807. let html = "<option value=" + RecordId + " data-table=" + typeof (RecordId) + ">recordid</option>";
  3808. jQuery("#ddlParameterValue").append(html);
  3809. }
  3810. }
  3811. loadIdentity() {
  3812. $("#ddlParameterValue").empty();
  3813. var identityinfo = Unibase.Platform.Membership.Infos.Identity.currentUser;
  3814. var keys = Object.keys(identityinfo);
  3815. var html = "<option value=''>Select Value</option>";
  3816. for (let i = 0; i < keys.length; i++) {
  3817. html += "<option value=" + identityinfo[keys[i]] + " data-table=" + typeof identityinfo[keys[i]] + ">identity_" + keys[i] + "</option>";
  3818. }
  3819. html += "<option value=" + new Date() + " data-table=datetime>filter_fromdate</option>";
  3820. html += "<option value=" + new Date() + " data-table=datetime>filter_todate</option>";
  3821. jQuery("#ddlParameterValue").append(html);
  3822. }
  3823. bindReportColumnOnSortable() {
  3824. var instance = this;
  3825. var ReportName = $('#ddlReport option:selected').text();
  3826. var ColumnName = $('#ddlColumns option:selected').text();
  3827. var Label = $('#txt_Label').val();
  3828. var LinkURL = $('#txt_LinkURL').val();
  3829. let columnConv = "";
  3830. var convertervalue = "";
  3831. var WidgetName = $('#txt_WidgetName').val();
  3832. $("#hf-widget-title").text(WidgetName);
  3833. let columnID = $('#li_columnId').val();
  3834. if ($('#ddlColumnConv').val() != 0) {
  3835. columnConv = $('#ddlColumnConv option:selected').html();
  3836. convertervalue = $('#ddlColumnConvType').val().toString();
  3837. }
  3838. else {
  3839. columnConv = $('#ddlColumnConv option:selected').html();
  3840. }
  3841. if (ReportName == "") {
  3842. return false;
  3843. }
  3844. let propertyid = 0;
  3845. if ($("#detailpropertyid").val() == "0")
  3846. propertyid = 0;
  3847. else
  3848. propertyid = Number($("#detailpropertyid").val());
  3849. let propertyindex = $("#propertyindex").val().toString();
  3850. $("#ulcolumns").find(".column-item").each(function () {
  3851. if ($(this).find("#row5").text() == propertyindex) {
  3852. }
  3853. });
  3854. Widget.Instance().refreshReportColumn();
  3855. Widget.Instance().rowNum = $('.sortable li').length;
  3856. Widget.Instance().rowNum++;
  3857. this.saveReportColumn++;
  3858. $('.formColumnWidgetBuilder').trigger("reset");
  3859. $('.div_WidgetColumnConvType').addClass('hidden');
  3860. $('#li_columnId').val('0');
  3861. instance.CreateWidgetPreview();
  3862. }
  3863. bindReportColumn() {
  3864. var instance = this;
  3865. var ReportName = $('#ddlReport option:selected').text();
  3866. var ColumnName = $('#ddlColumns option:selected').text();
  3867. if (ColumnName == 'Select Column') {
  3868. MessageHelper.Instance().showError("Please select the Value", "bizgaze_ValidationSummary");
  3869. event.stopPropagation();
  3870. }
  3871. var Label = $('#txt_Label').val();
  3872. var LinkURL = $('#txt_LinkURL').val();
  3873. let columnConv = "";
  3874. var convertervalue = "";
  3875. var WidgetName = $('#txt_WidgetName').val();
  3876. $("#hf-widget-title").text(WidgetName);
  3877. let columnID = $('#li_columnId').val();
  3878. if ($('#ddlColumnConv').val() != 0) {
  3879. columnConv = $('#ddlColumnConv option:selected').html();
  3880. convertervalue = $('#ddlColumnConvType').val().toString();
  3881. }
  3882. else {
  3883. columnConv = $('#ddlColumnConv option:selected').html();
  3884. }
  3885. if (ReportName == "") {
  3886. return false;
  3887. }
  3888. let propertyid = 0;
  3889. if ($("#detailpropertyid").val() == "0")
  3890. propertyid = 0;
  3891. else
  3892. propertyid = Number($("#detailpropertyid").val());
  3893. let propertyindex = $("#propertyindex").val().toString();
  3894. $("#ulcolumns").find(".column-item").each(function () {
  3895. if ($(this).find("#row5").text() == propertyindex) {
  3896. }
  3897. });
  3898. Widget.Instance().refreshReportColumn();
  3899. Widget.Instance().rowNum = $('.sortable li').length;
  3900. Widget.Instance().rowNum++;
  3901. if (ColumnName != "") {
  3902. if ($('#li_columnId').val() == 0) {
  3903. $('.sortable').append('<li class="list-group-item border-0 column-item ui-sortable-handle bg-light my-2 p-2 d-flex justify-content-between" id="columnId_' + Widget.Instance().rowNum + '"> <span class="font-15">' + Label + '</span> <span class="pull-left media-xs mr-30 hidden"> <i class="fa fa-sort text-muted fa mr-10"></i> <span id="row5" class="text-dark rowNum">' + Widget.Instance().rowNum + '</span> </span><div class="d-flex flex-row"> <span id="edit_row " class="px-2 my-auto fa fa-pencil text-dark" onclick="Unibase.Platform.Widgets.Components.Widget.Instance().EditReportColumnRow(this)"></span> <span id="delete_row" class="px-2 my-auto fa fa-times fa-lg text-danger border-left border-2 text dark" onclick="Unibase.Platform.Widgets.Components.Widget.Instance().deleteReportColumnRow(this)"></span></div><div class="clear hidden"><div class="stageheading"> <input type="hidden" id="row0" value=' + propertyid + '> <input type="hidden" id="row6" value=' + convertervalue + '> <input type="hidden" id="ConverterType" value="' + $('#ddlColumnConv').val() + '" /><label class="col-sm-2" id="row1">' + ColumnName + '</label> <label class="col-sm-2 mr-10" id="row2">' + columnConv + '</label> <label class="col-sm-3" id="row3">' + Label + '</label> <label class="col-sm-2" id="row4">' + LinkURL + '</label><div></div></li>');
  3904. }
  3905. else {
  3906. let indexValue = $('#' + columnID).find('#row5').text();
  3907. $('#ulcolumns').find('#' + columnID).html(' <span class="font-15">' + Label + '</span> <span class="pull-left media-xs mr-30 hidden"> <i class="fa fa-sort text-muted fa mr-10"></i> <span id="row5" class="text-dark rowNum">' + indexValue + '</span> </span> <div class="d-flex flex-row "> <span id="edit_row " class="px-2 my-auto fa fa-pencil text-dark" onclick="Unibase.Platform.Widgets.Components.Widget.Instance().EditReportColumnRow(this)"></span> <span id="delete_row" class="px-2 my-auto fa fa-times fa-lg text-danger border-left border-2 text dark" onclick="Unibase.Platform.Widgets.Components.Widget.Instance().deleteReportColumnRow(this)"></span></div><div class="clear hidden"> <div class="stageheading"> <input type="hidden" id="row0" value=' + propertyid + '> <input type="hidden" id="row6" value=' + convertervalue + '> <input type="hidden" id="ConverterType" value="' + $('#ddlColumnConv').val() + '"/><label class="col-sm-2" id="row1">' + ColumnName + '</label> <label class="col-sm-2 mr-10" id="row2">' + columnConv + '</label> <label class="col-sm-3" id="row3">' + Label + '</label> <label class="col-sm-2" id="row4">' + LinkURL + '</label> <div></div>');
  3908. }
  3909. $("#propertyindex").val(0);
  3910. $("#detailpropertyid").val(0);
  3911. $('#txt_Label').val('');
  3912. }
  3913. else {
  3914. }
  3915. this.saveReportColumn++;
  3916. $('.formColumnWidgetBuilder').trigger("reset");
  3917. $('.div_WidgetColumnConvType').addClass('hidden');
  3918. $('#li_columnId').val('0');
  3919. instance.CreateWidgetPreview();
  3920. }
  3921. bindReportClose() {
  3922. $('.formColumnWidgetBuilder').trigger("reset");
  3923. $('#li_columnId').val('0');
  3924. }
  3925. bindParameterRow() {
  3926. var instance = this;
  3927. Widget.Instance().rowNum = $('.parametersortable .bindParamterRow').length;
  3928. Widget.Instance().rowNum++;
  3929. let ParameterName = $('#txt_Parameters').val();
  3930. let Value;
  3931. let Operator = "";
  3932. let Datatype = "string";
  3933. if ($('#Operator').val() != 0)
  3934. Operator = $('#ddlOperator option:selected').text();
  3935. if ($("#ddlparametertype").val() == 1) {
  3936. if ($('#ddlParameterValue').val() != "")
  3937. Value = $('#ddlParameterValue option:selected').text();
  3938. Datatype = $('#ddlParameterValue option:selected').attr("data-table");
  3939. }
  3940. else {
  3941. Value = $('#txtParameterValue').val();
  3942. if ($.isNumeric(Value) == true)
  3943. Datatype = "number";
  3944. else
  3945. Datatype = typeof (Value);
  3946. }
  3947. if (Value != "" && Operator != "" && ParameterName != "") {
  3948. let parameterBody = '<li class="bindParamterRow row-item-li" id="rowId_' + Widget.Instance().rowNum + '" data-rowid="rowId_' + Widget.Instance().rowNum + '"> <div class="row font-14 box-shadow row-item ui-sortable-handle" id="rowId_' + Widget.Instance().rowNum + '"> <div class="col-md-1 hidden col-1 border p-2 text-center"> <span id="row5" class="text-dark rowNum">' + Widget.Instance().rowNum + '</span> </div><div class="col-md-12 col-12"> <div class="parameterrowheading font-14 row text-center"> <input type="hidden" id="row0" value="0"> <div class="col-sm-5 col-5 p-2 border"> <label id="row1">' + ParameterName + '</label></div><div class="col-sm-2 col-2 p-2 border"> <label id="row2">' + Operator + '</label></div><div class="col-sm-5 col-5 p-2 border d-flex flex-row"> <span id="row3">' + Value + '</span> <span id="delete_row " class="btn fa fa-times fa-lg text-danger ml-auto" onclick="Unibase.Platform.Widgets.Components.Widget.Instance().deleteParameterRow(this)"></span> </div><input type="hidden" id="row4" value=' + Datatype + '> <input type="hidden" id="row6" value=' + $("#ddlparametertype").val() + '> </div></div></div></li>';
  3949. let parameterSettings = '<li class="d-flex flex-column bg-light my-3 p-2 rounded-2 rowId_' + Widget.Instance().rowNum + '" data-rowId="rowId_' + Widget.Instance().rowNum + '"> <div class="d-flex flex-row text-dark"> <span class="border-bottom border-dashed border-dark p-1">' + ParameterName + '</span> <a href="javascript:void(0);" class=" my-auto ml-auto px-2" onclick="Unibase.Platform.Widgets.Components.Widget.Instance().deleteParameterRow(this);" > <i class="fa p-1 fa-trash text-danger"></i> </a> </div></li>';
  3950. $('#bindParameterList').append(parameterSettings);
  3951. $('#ulparamers').append(parameterBody);
  3952. if (instance.DataListTypeId == 4) {
  3953. instance.getDataListColumns();
  3954. }
  3955. }
  3956. else {
  3957. }
  3958. $('.parametersForm').trigger("reset");
  3959. }
  3960. deleteParameterRow(x) {
  3961. var result = confirm("Do you want to delete the row");
  3962. $('.parametersForm').trigger("reset");
  3963. if (result == true) {
  3964. let settingDeleteParam = $(x.closest('li')).attr('data-rowid');
  3965. $('#bindParameterList').find('.' + settingDeleteParam).remove();
  3966. $('#ulparamers').find('#' + settingDeleteParam).remove();
  3967. Widget.Instance().refreshParameterRow();
  3968. Widget.Instance().refreshParameterRowli();
  3969. return true;
  3970. }
  3971. }
  3972. deleteParameterRow_(x) {
  3973. var result = confirm("Do you want to delete the row");
  3974. $('.parametersForm').trigger("reset");
  3975. if (result == true) {
  3976. $('#rowId_' + x).remove();
  3977. Widget.Instance().refreshParameterRow();
  3978. return true;
  3979. }
  3980. }
  3981. refreshParameterRow() {
  3982. var len = $('.row-item').length;
  3983. var count = 1;
  3984. $("#ulparamers").find(".row-item-li").each(function () {
  3985. if (count <= len) {
  3986. $(this).attr('id', 'rowId_' + count);
  3987. $(this).attr('data-rowid', 'rowId_' + count);
  3988. $(this).find('.rowNum').text(count);
  3989. count += 1;
  3990. }
  3991. });
  3992. }
  3993. refreshParameterRowli() {
  3994. var len = $('#bindParameterList').children.length;
  3995. var count = 1;
  3996. $("#bindParameterList").find("li").each(function () {
  3997. if (count <= len) {
  3998. $(this).attr('data-rowid', 'rowId_' + count);
  3999. $(this).attr('class', 'd-flex flex-column bg-light my-3 p-2 rounded-2 rowId_' + count);
  4000. count += 1;
  4001. }
  4002. });
  4003. }
  4004. DeleteAppParameters(index) {
  4005. $('#bindParameterList').find('#IdParameterli_' + index).remove();
  4006. this.deleteParameterRow_(index);
  4007. }
  4008. deleteReportColumnRow(x) {
  4009. var result = confirm("Do you want to delete the row");
  4010. if (result == true) {
  4011. x.closest('li').remove();
  4012. let y = $(x.closest('li')).attr('id');
  4013. $('.' + y).remove();
  4014. Widget.Instance().refreshReportColumn();
  4015. Widget.Instance().refreshPreviewReportColumn();
  4016. $('#DetailDoubleColumn').find("." + y).remove();
  4017. return true;
  4018. }
  4019. }
  4020. EditReportColumnRow(x) {
  4021. $('#addColumn-detailWidget').click();
  4022. let ele = x.closest('li');
  4023. $("#ddlColumnConv").val($(ele).find("#ConverterType").val()).trigger("change");
  4024. $("#ddlColumnConvType").val($(ele).find("#row6").val());
  4025. $("#ddlColumns").val($(`#ddlColumns [data-table="${$(ele).find("#row1").text()}"]`).val());
  4026. $("#txt_Label").val($(ele).find("#row3").text());
  4027. $("#txt_LinkURL").val($(ele).find("#row4").text());
  4028. $("#detailpropertyid").val($(ele).find("#row0").val());
  4029. $("#propertyindex").val($(ele).find("#row5").text());
  4030. $("#li_columnId").val($(x.closest('li')).attr('id'));
  4031. }
  4032. refreshReportColumn() {
  4033. var len = $('.column-item').length;
  4034. var count = 1;
  4035. $("#ulcolumns").find(".column-item").each(function () {
  4036. if (count <= len) {
  4037. $(this).attr('id', 'columnId_' + count);
  4038. $(this).find('.rowNum').text(count);
  4039. count += 1;
  4040. }
  4041. });
  4042. }
  4043. refreshPreviewReportColumn() {
  4044. var len = $('.detailProperty').length;
  4045. var count = 1;
  4046. $("#DetailColumns ").find(".detailProperty ").each(function () {
  4047. if (count <= len) {
  4048. $(this).attr('class', 'd-flex justify-content-between m-2 p-2 detailProperty columnId_' + count);
  4049. count += 1;
  4050. }
  4051. });
  4052. }
  4053. javaScript(formid, roleid, id, jstext) {
  4054. var instance = this;
  4055. instance.formproperties = [];
  4056. Unibase.Platform.Forms.Managers.FormManager.Instance().getFormProperties(formid).then(function (response) {
  4057. for (let i = 0; i < response.result.length; i++) {
  4058. instance.formproperties.push(response.result[i].FormPropertyName + "-PropertyName");
  4059. }
  4060. });
  4061. Unibase.Platform.Forms.Managers.FormManager.Instance().getSections(formid).then(function (response) {
  4062. for (let j = 0; j < response.result.length; j++) {
  4063. instance.formproperties.push(response.result[j].SectionName + "-SectionName");
  4064. }
  4065. });
  4066. var detailsdata = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters;
  4067. if (detailsdata.length > 0) {
  4068. for (let k = 0; k < detailsdata.length; k++) {
  4069. let split = detailsdata[k].Key.split('_');
  4070. instance.formproperties.push(split[2] + "-HiddenFieldName");
  4071. }
  4072. }
  4073. $("#appconfiguration_javascript_" + formid + "_" + roleid + "_" + id).summernote({
  4074. height: 200,
  4075. placeholder: "text",
  4076. disableDragAndDrop: true,
  4077. codemirror: {
  4078. mode: 'text/html',
  4079. lineNumbers: true,
  4080. },
  4081. toolbar: [
  4082. ['view', ['help']],
  4083. ],
  4084. hint: {
  4085. match: /\B[@!](\w*)$/,
  4086. search: function (keyword, callback) {
  4087. callback($.grep(instance.formproperties, function (i) {
  4088. var user = i;
  4089. return user.indexOf(keyword) === 0;
  4090. }));
  4091. },
  4092. content: function (i) {
  4093. var user = i;
  4094. return $('<span>@' + user + '</span>')[0];
  4095. }
  4096. }
  4097. });
  4098. }
  4099. loadrolesdata(formid, formname, roleid, rolename, FormRoleId, id, formroleid) {
  4100. var EditMode = this.defautSettings.filter(function (o) { return o.widgetdesignid === 20210628; });
  4101. if (EditMode[0].mode == 'Create_Mode') {
  4102. var lihtml = `<div class="formroles ` + roleid + `_duplicate" id="li_` + formid + `_` + roleid + `_` + id + `"><input type="hidden" value="` + formid + `" id="hidden_li_` + formid + `_` + roleid + `_` + id + `_formid" value="` + formid + `" class='formid'>
  4103. <input type="hidden" value="` + formroleid + `" id="hidden_li_` + formid + `_` + roleid + `_` + id + `_formroleid" value="` + formroleid + `" class='formroleid'><input type="hidden" id="hidden_li_` + formid + `_` + roleid + `_` + id + `_roleid" value="` + roleid + `" class='formid'><div class="card"><div class="card-body"><div class="row">
  4104. <div class="col-sm-6"><h6>FormRoles</h6></div>
  4105. <div class="col-sm-6 div_delete"><a class="ml-auto pull-right" id ="li_` + formid + `_` + roleid + `_` + id + `__delete__` + formroleid + `" onclick="Unibase.Platform.Widgets.Components.Widget.Instance().deleteConfig(event,` + id + `)"; title="Remove row"><i class="text-white bg-danger p-1 fa fa-trash remove-icon_1"></i></a></div>
  4106. </div><br>
  4107. <div class="row">
  4108. <div class="col-sm-4"><span id="spform_` + formid + `_` + id + `" class="sp_form" data-text=` + formid + `>` + formname + `</span></div>
  4109. <div class="col-sm-4"><span id="sprole_` + roleid + `_` + id + `" class="sp_role" data-text=` + roleid + `>` + rolename + `</span></div>
  4110. <input type="hidden" class="form-control floating-label-control txtformrole" data-isdynamic="false" value="` + FormRoleId + `">
  4111. </div><br>
  4112. <div class="row"><div class="col-sm-12"><div class="value-control" style="display: block;" id="appconfiguration_javascript_` + formid + `_` + roleid + `_` + id + `"></div></div></div>
  4113. </div>
  4114. </div></div>`;
  4115. return lihtml;
  4116. }
  4117. }
  4118. EditAppConfiguration(InstalledAppId, editID) {
  4119. let edithtml = '<a href = "javascript:;" class="btn btn-theme ml-auto py-0 btn-adj-drawer-close" onclick = "Unibase.Platform.Widgets.Components.Widget.Instance().appendconfigSaveNames_(' + InstalledAppId + ')"> Save </a>';
  4120. $('.AppConfig-row.column-appconfigitem').addClass(["hidden"]);
  4121. $('.btnAddNewConfiguration').click();
  4122. $('.AppConfig-row.active.column-appconfigitem').last().remove();
  4123. $('.appendconfigSaveNamesClass').html(edithtml);
  4124. $('.AppConfig-row.column-appconfigitem.AppConfig_' + editID).addClass('active').removeClass('hidden');
  4125. }
  4126. DeleteAppConfiguration(InstalledAppId, deleteID) {
  4127. Widget.Instance().DeleteConfigurationIds = Widget.Instance().DeleteConfigurationIds + "," + $('.AppConfig-row.AppConfig_' + deleteID).find('#hf_AppConfigurationId_' + deleteID).val();
  4128. $('#AppConfigNames').find('#li_' + deleteID).remove();
  4129. $('#appConfigColumns').find('.AppConfig-row.column-appconfigitem.AppConfig_' + deleteID).remove();
  4130. Widget.Instance().refreshConfugarationsList();
  4131. Widget.Instance().refreshAppConfiglist();
  4132. $('.AppConfig-row.AppConfig_' + deleteID + '.column-appconfigitem').find(".RoleSetting").on('input', function () {
  4133. Widget.Instance().loadAppPermissions(deleteID, InstalledAppId);
  4134. });
  4135. }
  4136. addAppConfiguration(InstalledAppId) {
  4137. var EditMode = this.defautSettings.filter(function (o) { return o.widgetdesignid === 20210628; });
  4138. if (EditMode[0].mode == 'Create_Mode') {
  4139. var len = $('.AppConfig-row').length;
  4140. Widget.Instance().len = $('.AppConfig-row').length;
  4141. Widget.Instance().rowNum = $('.appConfigSortable .column-appconfigitem').length;
  4142. Widget.Instance().rowNum++;
  4143. var html = '';
  4144. html = ' <div class="AppConfig-row active AppConfig_' + len + ' column-appconfigitem" id="divAppConfig_' + len + '" data-length="' + len + '"> <div class="card border-0" style="box-shadow:none"> <div class="card-body pt-0">' + ' <input type="hidden" class="hf_AppConfigurationId" id="hf_AppConfigurationId_' + len + '" value="0"/>' + ' <input type="hidden" class="hf_AppConfigurationUniqueId" id="hf_AppConfigurationUniqueId_' + len + '" value=""/>' + ' <div class="b-b deleteAppConfigRow media">' + ' <span class="h5 text-dark pull-left media-xs hidden"> <i class="fa fa-sort text-muted fa mr-10"></i> <span id="row5" class="text-dark rowNum">' + Widget.Instance().rowNum + '</span> </span>' + ' <div class="col-sm-6 pr-4 pl-0"> <div class="d-flex flex-column floating-label-form-group-with-value" id="div_WidgetAppConfigSettingName"> <label class="font-weight-600">Configuration name<span class="text-danger"> *</span></label> <input type="text" id="txt_SettingName_' + len + '" class="form-control required SettingName border-light-20" data-isdynamic="false" placeholder="Setting Name" data-placeholder="Enter Setting Name" style="box-shadow:none" data-label="Setting Name" autocomplete="off"/> </div></div><a class="ml-auto btn-xs btn hidden btn-danger delete remove-icon_' + len + '" href="javascript:;" title="Remove row"> <i class="fa fa-times remove-icon_' + len + '"></i> </a> <span class="btn pull- right hidden col-sm-1 pb-0 pt- 0"> <i class="pull-right chevron_' + len + ' fa fa-chevron-down"></i> </span>' + ' </div>' + ' <div class="AppConfigRow' + len + '">' + ' <ul class="d-flex flex-column"> <li class="w-100 py-2"> <ul class="d-flex flex-row"> <li class="w-50 pr-4"> <div class="floating-label-form-group-with-value" id="div_WidgetAppConfigFormInstallApp" style="border-bottom:0;"> <label for="ddlFormInstallAppId" id="lblFormInstallAppId" class="font-weight-500">InstalledApp</label> <select id="ddlFormInstallAppId_' + len + '" style="width:100%" class="b-a form-control floating-label-control FormInstallAppId required" placeholder="Form InstalledApp" data-placeholder="Select Form InstalledApp" data-label="Form InstalledApp"></select> </div></li><li class="w-50 roleSettingDiv"> <div class="floating-label-form-group-with-value" id="div_WidgetAppConfigRoleSetting" style="border-bottom:0;"> <label for="txt_RoleSetting" id="lblRoleSetting" class="font-bold">Role Setting <span class="text-danger"> *</span> </label> <input type="hidden" id="hfRoleSettingValue_' + len + '" value=""/> <input type="hidden" id="hfRoleSettingAutoComplete_' + len + '" value=""/> <select style="width:100%" class="b-a form-control floating-label-control required RoleSetting" id="txt_RoleSetting_' + len + '" data-isdynamic="false" placeholder="Role Setting *" data-placeholder="Select Role Setting" data-label="Role Setting *"></select> </div></li></ul> </li><li class="w-100 py-2"> <ul class="d-flex flex-row"> <li class="w-50 pr-4"> <div class="d-flex flex-column floating-label-form-group-with-value" id="div_WidgetAppConfigPermission" style="border-bottom:0;"> <label for="ddlPermission" id="lblPermission" class="font-bold">Permission <span class="text-danger"> *</span> </label> <select id="ddlPermission_' + len + '" class="w-100 form-control floating-label-control required Permission" data-isdynamic="false" placeholder="Permission *" data-placeholder="Select Permission" data-label="Permission *"></select> <input type="hidden" id="hfPermission_' + len + '" value=""/> </div></li><li class="w-50 roleSettingDiv"> <div class="floating-label-form-group-with-value" id="div_WidgetAppConfigType" style="border-bottom:0;"> <label for="ddlAppConfigType" id="lblAppConfigType" class="font-bold">AppConfig Type <span class="text-danger">*</span> </label> <select id="ddlAppConfigType_' + len + '" class="form-control floating-label-control required AppConfigType" placeholder="AppConfig Type *" data-placeholder="Select AppConfig Type" data-label="AppConfig Type *" style="width:100%"></select> <input type="hidden" class="hfAppConfigType" id="hfAppConfigType_' + len + '" value=""/> </div></li></ul> </li><li class="w-100 py-2"> <ul class="d-flex flex-row"> <li class="w-50 pr-4"> <div class="d-flex flex-column floating-label-form-group-with-value" id="div_WidgetAppConfigIcon" style="border-bottom:0;"> <label for="ddlAppConfigIcon" id="lblAppConfigIcon" class="font-bold">Icon</label> <select id="ddlAppConfigIcon_' + len + '" class="w-100 form-control floating-label-control AppConfigIcon" placeholder="Icon" data-placeholder="Select Icon" data-label="Icon"></select> <input type="hidden" id="hfAppConfigIcon_' + len + '" value=""/> </div></li><li class="w-50 roleSettingDiv"> <div class="floating-label-form-group-with-value" id="div_WidgetAppConfigSettingUrlType" style="border-bottom:0;"> <label for="ddlSettingUrlType" id="lbl_SettingUrlType" class="font-bold"> Setting URL Type <span class="text-danger">* </span> </label> <select id="ddlSettingUrlType_' + len + '" class="form-control floating-label-control required AppConfigISettingUrlType" data - isdynamic="false" placeholder="Setting URL Type *" data - placeholder="Select Setting URL Type" data - label="Setting URL Type *" style="width:100%"></select> <input type="hidden" id="hfSettingUrlType_' + len + '" value=""> <label for="Validation" id="lblValidation_SettingUrlType"></label> <input type="hidden" id="hfFormPropertyId" value=""> </div></li></ul> </li><li class="w-100 floating-label-form-group-with-value"> <div class="w-50 div_formsize_' + len + ' hidden"> <label for="lblFormSize" class="font-bold" id="lblWidth">Select Form Size</label> <select id="ddlFormSize_' + len + '" class="form-control ddlFormSize text-control" style="width:100%" placeholder="Form" data-placeholder="Form Size"> <option value=0>Select size</option> <option value=1>Mini</option> <option value=2>Medium</option> <option value=3>Large</option> <option value=4>ExtraLarge</option> <option value=5>Auto</option> <option value=6>DockRight</option> <option value=7 selected>DockLeft</option> </select> <input type="hidden" id="hfAutocomplete_FormSize_' + len + '" class="hfFormSize_' + len + ' form-control value-control" data - isdynamic="true"/> </div></li><li class="w-50 div_dashboard_' + len + ' hidden"> <div class="floating-label-form-group-with-value" id="div_dashboard" style="border-bottom:0;"> <label for="ddlDashboard" id="lblDashboard" class="font-bold">DashBoards</label> <select id="ddlDashboard_' + len + '" class="form-control floating-label-control required Dashboard" placeholder="DashBoards" data-placeholder="Select Dashboard " data-label="DashBoards" style="width:100%"></select> <input type="hidden" class="hfDashBoard_' + len + '" id="hfDashBoard_' + len + '" value=""/> </div></li><li class="w-50 div_dashboardgroup_' + len + ' hidden"> <div class="floating-label-form-group-with-value" id="div_dashboardgroup" style="border-bottom:0;"> <label for="ddlDashboardGroup" id="lblDashboardGroup" class="font-bold">DashBoard Groups</label> <select id="ddlDashboardGroup_' + len + '" class="form-control floating-label-control required DashboardGroups" placeholder="DashBoard Groups" data-placeholder="Select Dashboard group " data-label="DashBoard Groups" style="width:100%"></select> <input type="hidden" class="hfDashBoardGroup_' + len + '" id="hfDashBoardGroup_' + len + '" value=""/> </div></li><li class="w-50 widgetsetingdiv_' + len + ' hidden"> <div class="floating-label-form-group-with-value" id="div_LoadWidgetAppConfigForm_' + len + '" style="border-bottom:0;"> <label for="ddlFormUniqueKey" id="lblFormUniqueKey" class="font-bold">Widgets</label> <input type="hidden" id="hfWidgetsAutoComplete_' + len + '" value=""/> <input type="hidden" id="hfWidgetsAutoComplete_' + len + '" value=""/> <select id="ddlWidgets_' + len + '" style="width:100%" class="b-a form-control floating-label-control FormUniqueKey" placeholder="Widgets" data-placeholder=" Select Widget" data-label="Form"></select> </div></div></li><li class="py-2"> <div class="col-sm-12 p-0 hidden Procedure w-50"> <div class="floating-label-form-group" id="div_Procedurename"> <label for="txt_Procedure" id="lblProcedure" class="font-bold">Procedure Name</label> <input type="text" class="form-control floating-label-control ProcedureName" id="txt_ProcedureName_' + len + '" data - isdynamic="false" placeholder="ProcedureName" data-placeholder="Enter ProcedureName" data - label="Procedure" autocomplete="off" /> </div> </div> </li><li class="w-100 py-2"> <ul class="d-flex flex-row"> <li class="w-30 pr-4"> <label for="chkIsDefault" class="w-100"> <b>IsDefault </b> </label> <label id="lblIsDefault" class="switch"> <input id="chkIsDefault_' + len + '" class="IsDefault" data - group="IsDefault" type="checkbox" data - controlpropertyname="IsDefault"> <span></span> </label> </li><li class="w-30 roleSettingDiv"> <label for="chkUngrouped" class="w-100"> <b>Ungrouped</b> </label> <label id="lblUngrouped" class="switch"> <input id="chkUngrouped_' + len + '" data-group="Ungrouped" class="Ungrouped" type="checkbox" data-controlpropertyname="Ungrouped"> <span></span> </label> </li><li class="w-30 pr-4"> <label for="chkExcludeFromLock" class="w-100"> <b>Exclude From Lock </b> </label> <label id="lblExcludeFromLock" class="switch"> <input id="chkExcludeFromLock_' + len + '" class="ExcludeFromLock" data - group="ExcludeFromLock" type="checkbox" data - controlpropertyname="ExcludeFromLock"> <span></span> </label> </li></ul> </li><li class="hidden py-2"> <div class="floating-label-form-group-with-value" id="div_WidgetAppConfigForm" style="border-bottom:0;"> <label for="ddlFormUniqueKey" id="lblFormUniqueKey" class="font-bold"> Form < /label> <input type="hidden" class="hfFormUniqueIdAutoComplete" id="hfFormUniqueIdAutoComplete_' + len + '" value=""/> <input type="hidden" id="hfFormUniqueKeyAutoComplete_' + len + '" value=""/> <select id="ddlFormUniqueKey_' + len + '" class="b-a w-100 form-control floating-label-control FormUniqueKey" placeholder="Form" data - placeholder="Select Form" data - label="Form"></select> </div></li><li class="py-2"> <div class="col-sm-12 p-0 hidden WidgetAppConfigSettingURL"> <div class="floating-label-form-group" id="div_WidgetAppConfigSettingURL"> <label for="txt_SettingURL" id="lblSettingURL" class="font-bold">Setting URL</label> <input type="text" class="form-control floating-label-control SettingURL" id="txt_SettingURL_' + len + '" data - isdynamic="false" placeholder="Setting URL" data - placeholder="Enter Setting URL" data - label="Setting URL" autocomplete="off"/> </div></div></li><li class="py-2"> <div class="floating-label-form-group-with-value" id="summernoteDiv_AppConfigJsFunction"> <label for="Validation" id="lblValidation">Jsfunction</label> <textarea class="w-100 p-2 summernote_JsFunction border" id="summernote_JsFunction_' + len + '" data - propdoctypename="JsFunction" placeholder="Enter JsFunction" data - placeholder="Enter JsFunction" data - label="JsFunction" rows="3"></textarea> </div></li><li class="py-2"> <div class="col-sm-12 p-0 floating-label-form-group-with-value hidden" id="Div_SettingDesignhtml_' + len + '"> <label for="Validation" id="lblValidation">SettingDesignhtml</label> <textarea class="txt_SettingDesignhtml" style="width:inherit;" id="txt_SettingDesignhtml_' + len + '" data - propdoctypename="SettingDesignhtml" placeholder="Enter SettingDesignhtml" data - placeholder="Enter SettingDesignhtml" data - label="SettingDesignhtml" rows="3" cols="112"></textarea> </div></li><li class="py-2"> <div class="col-sm-12 p-0 floating-label-form-group-with-value hidden" id="Div_DynamicJs_' + len + '"> <label for="Validation" id="lblValidation">DynamicJs</label> <textarea class="txt_DynamicJs" style="width:inherit;" id="txt_DynamicJs_' + len + '" data - propdoctypename="DynamicJs" placeholder="Method" data - placeholder="Method Description" data - label="Method" rows="3" cols="112"></textarea> </div></li></ul> ' + ' </div>' + ' </div>' + '</div>' + ' </div>';
  4145. var AddAppConfigAppendhtml = '<a href="javascript:;" class="btn btn-light py-0 btn-adj-drawer-close"onclick="Unibase.Platform.Widgets.Components.Widget.Instance().appModalconfigClose()">Close</a> <a href = "javascript:;" class="btn btn-theme py-0 btn-adj-drawer-close" onclick = "Unibase.Platform.Widgets.Components.Widget.Instance().appendconfigSaveNames(' + InstalledAppId + ')" > Save </a>';
  4146. $('.appendconfigSaveNamesClass').html(AddAppConfigAppendhtml);
  4147. for (var m = 1; m < len; m++) {
  4148. $('#appConfigColumns').find('.AppConfig-row').removeClass('active');
  4149. $('#appConfigColumns').find('#divAppConfig_' + m + '').addClass('hidden');
  4150. $('#appConfigColumns').find('#AppConfigId_' + m + '').addClass('hidden');
  4151. }
  4152. $(".AppConfig-row:last").after(html);
  4153. var element = $(".AppConfig-row:last");
  4154. Widget.Instance().bindList(element, len, InstalledAppId);
  4155. var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/getpermissions';
  4156. AutoCompleteHelper.getHelper().Create("#ddlPermission_" + len, "#hfPermission_" + len, url, function (response) {
  4157. var data = response;
  4158. });
  4159. var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/getappconfigtypes';
  4160. AutoCompleteHelper.getHelper().Create("#ddlAppConfigType_" + len, "#hfAppConfigType_" + len, url, function (response) {
  4161. var data = response;
  4162. });
  4163. var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/icons';
  4164. AutoCompleteHelper.getHelper().Create("#ddlAppConfigIcon_" + len, "#hfAppConfigIcon_" + len, url, function (response) {
  4165. var data = response;
  4166. }, true);
  4167. var url = _appsettings.server_url() + '/apis/v4/unibase/platform/widgets/widgetautocomplete';
  4168. AutoCompleteHelper.getHelper().Create("#ddlWidgets_" + len, "#hfWidgetsAutoComplete_" + len, url, function (response) {
  4169. var data = response;
  4170. });
  4171. $("#ddlSettingUrlType_" + len).empty().trigger("change");
  4172. var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/getsettingurl';
  4173. AutoCompleteHelper.getHelper().Create("#ddlSettingUrlType_" + len, "#hfSettingUrlType_" + len, url, function (response) {
  4174. var data = response;
  4175. });
  4176. Widget.Instance().loadForms(len, 0, "");
  4177. Widget.Instance().loadFormInstalledApps(len);
  4178. Unibase.Platform.Apps.Managers.AppManager.Instance().getInstallApp(InstalledAppId).then(function (response) {
  4179. if (response.result != null) {
  4180. $("#ddlFormInstallAppId_" + len + "").append('<option value="' + response.result.InstalledAppId + '">' + response.result.AppTitle + '</option>');
  4181. $("#ddlFormInstallAppId_" + len + "").val(response.result.InstalledAppId);
  4182. }
  4183. });
  4184. var widgetTypeName = $("#ddlWidgetType").children("option:selected").text();
  4185. var lowerCaseWidgetType = widgetTypeName.toLowerCase();
  4186. if (RegExp("dashboard").test(lowerCaseWidgetType)) {
  4187. $(".FormInstallAppId").prop('disabled', false);
  4188. }
  4189. else {
  4190. $(".FormInstallAppId").prop('disabled', true);
  4191. }
  4192. $('#txt_KPIImageFile').change(function (e) {
  4193. Widget.Instance().Singledoc_array = [];
  4194. let fileInput = document.getElementById("txt_KPIImageFile");
  4195. let file = fileInput.files[0];
  4196. var item = { Files: file };
  4197. Widget.Instance().Singledoc_array.push(item);
  4198. });
  4199. $("#ddlAppConfigType_" + len).change(function (e) {
  4200. if ($("#ddlAppConfigType_" + len).val() == 6 || $("#ddlAppConfigType_" + len).val() == 3) {
  4201. $("#Div_SettingDesignhtml_" + len).removeClass("hidden");
  4202. }
  4203. else {
  4204. $("#Div_SettingDesignhtml_" + len).addClass("hidden");
  4205. }
  4206. });
  4207. $("#ddlSettingUrlType_" + len).change(function (e) {
  4208. var currentid = e.currentTarget.id;
  4209. var number = currentid.match(/\d+/);
  4210. if ($("#ddlSettingUrlType_" + len + ' option:selected').text() == "Form") {
  4211. var lihtml = `<div class="card"><input type="hidden" value="" id='deleteconfig_` + len + `' class='deleteconfig_config'><div class="card-body div_formroles"><div class="row"><div class="col-sm-5"><select id="autocomplete_Form_` + len + `" class="form-control text-control" style="width:100%;" placeholder = "Form" data-placeholder="Form"></select><input type = "hidden" id = "hfAutocomplete_Form_` + len + `" class="hfAutocomplete_Form form-control value-control" data - isdynamic="true" /></div><div class="col-sm-5"><select id = "autocomplete_role_` + len + `" class="form-control text-control" style = "width:100%;" placeholder = "Roles" data - placeholder="Roles" ><option value=-1>Select Role</option><option value=0>All</option> </select><input type = "hidden" id = "hf_autocomplete_role_` + len + `" class="hf_autocomplete_role form-control value-control" data - isdynamic="true"/></div><div class="col-sm-1 my-auto"><a href="javascript:;" class="Addformrole_` + len + ` formroles_class" onclick=""><i class="fa fa-plus text-primary"></i></a></div></div><br/><div id="ul_errmsg_` + len + `"></div><div class="div_formrole_` + len + `"></div></div></div></div></div></div></div>`;
  4212. $("#Div_DynamicJs_" + len).addClass("hidden");
  4213. element.find(".WidgetAppConfigSettingURL").addClass("hidden");
  4214. element.find(".Procedure").addClass("hidden");
  4215. $("#summernote_JsFunction_" + number + "").after(lihtml);
  4216. $(".div_formsize_" + len + "").removeClass('hidden');
  4217. $('.div_dashboard_' + len + '').addClass('hidden');
  4218. $('.div_dashboardgroup_' + len + '').addClass('hidden');
  4219. $('.widgetsetingdiv_' + len + '').addClass('hidden');
  4220. $(".Addformrole_" + len + "").unbind().click(function () {
  4221. var formid = Number($("#autocomplete_Form_" + len + "").val());
  4222. var roleid = Number($("#autocomplete_role_" + len + "").val());
  4223. var formname = $("#autocomplete_Form_" + len + " option:selected").text();
  4224. var rolename = $("#autocomplete_role_" + len + " option:selected").text();
  4225. if ($(".div_formrole_" + len + "").find("." + roleid + "_duplicate").length > 0) {
  4226. MessageHelper.Instance().showError("already existed", "ul_errmsg_" + len + "");
  4227. return false;
  4228. }
  4229. var lihtml = Unibase.Platform.Widgets.Components.Widget.Instance().loadrolesdata(formid, formname, roleid, rolename, 0, len, 0);
  4230. $(".div_formrole_" + len + "").append(lihtml);
  4231. Unibase.Platform.Widgets.Components.Widget.Instance().javaScript(formid, roleid, len, "");
  4232. });
  4233. var url = _appsettings.server_url() + '/apis/v4/unibase/platform/forms/getformsautocomplete';
  4234. AutoCompleteHelper.getHelper().Create("#autocomplete_Form_" + len, "hfAutocomplete_Form_" + len, url, function (response) {
  4235. var data = response;
  4236. });
  4237. var url = _appsettings.server_url() + '/apis/v4/unibase/platform/roles/getroles';
  4238. AutoCompleteHelper.getHelper().Create("#autocomplete_role_" + len + "", "#hf_autocomplete_role_" + len + "", url, function (response) {
  4239. });
  4240. }
  4241. if ($("#ddlSettingUrlType_" + len + ' option:selected').text() == 'Html') {
  4242. $("#Div_DynamicJs_" + len).addClass("hidden");
  4243. $('#summernote_JsFunction_' + len).next().remove();
  4244. element.find(".WidgetAppConfigSettingURL").addClass("hidden");
  4245. element.find(".Procedure").addClass("hidden");
  4246. $(".div_formsize_" + len + "").addClass('hidden');
  4247. $('.div_dashboard_' + len + '').addClass('hidden');
  4248. $('.widgetsetingdiv_' + len + '').addClass('hidden');
  4249. $('.div_dashboardgroup_' + len + '').addClass('hidden');
  4250. }
  4251. if ($("#ddlSettingUrlType_" + len + ' option:selected').text() == 'JsFunction') {
  4252. $("#Div_DynamicJs_" + len).removeClass("hidden");
  4253. $('#summernote_JsFunction_' + len).next().remove();
  4254. element.find(".WidgetAppConfigSettingURL").removeClass("hidden");
  4255. element.find(".Procedure").addClass("hidden");
  4256. $(".div_formsize_" + len + "").addClass('hidden');
  4257. $('.div_dashboard_' + len + '').addClass('hidden');
  4258. $('.widgetsetingdiv_' + len + '').addClass('hidden');
  4259. $('.div_dashboardgroup_' + len + '').addClass('hidden');
  4260. }
  4261. if ($("#ddlSettingUrlType_" + len + ' option:selected').text() == 'Widget') {
  4262. $(".widgetsetingdiv_" + len + "").removeClass("hidden");
  4263. $("#Div_DynamicJs_" + len).addClass("hidden");
  4264. $('#summernote_JsFunction_' + len).next().remove();
  4265. element.find(".WidgetAppConfigSettingURL").addClass("hidden");
  4266. element.find(".Procedure").addClass("hidden");
  4267. $(".div_formsize_" + len + "").addClass('hidden');
  4268. $('.div_dashboard_' + len + '').addClass('hidden');
  4269. $('.div_dashboardgroup_' + len + '').addClass('hidden');
  4270. }
  4271. if ($("#ddlSettingUrlType_" + len + ' option:selected').text() == 'App' || $("#ddlSettingUrlType_" + len + ' option:selected').text() == 'Report' || $("#ddlSettingUrlType_" + len + ' option:selected').text() == 'Component' || $("#ddlSettingUrlType_" + len + ' option:selected').text() == 'Delete' || $("#ddlSettingUrlType_" + len + ' option:selected').text() == 'Status') {
  4272. $(".widgetsetingdiv_" + len + "").addClass("hidden");
  4273. $('#summernote_JsFunction_' + len).next().remove();
  4274. $("#Div_DynamicJs_" + len).addClass("hidden");
  4275. element.find(".WidgetAppConfigSettingURL").addClass("hidden");
  4276. element.find(".Procedure").addClass("hidden");
  4277. $(".div_formsize_" + len + "").addClass('hidden');
  4278. $('.div_dashboard_' + len + '').addClass('hidden');
  4279. $('.div_dashboardgroup_' + len + '').addClass('hidden');
  4280. }
  4281. if ($("#ddlSettingUrlType_" + len + ' option:selected').text() == 'Dashboard') {
  4282. var url = _appsettings.server_url() + '/apis/v4/unibase/platform/dashboards/dashboardsautocomplete';
  4283. AutoCompleteHelper.getHelper().Create("#ddlDashboard_" + len, "#hfDashBoard_" + len, url, function (response) {
  4284. var data = response;
  4285. });
  4286. $(".widgetsetingdiv_" + len + "").addClass("hidden");
  4287. $("#Div_DynamicJs_" + len).addClass("hidden");
  4288. $('#summernote_JsFunction_' + len).next().remove();
  4289. element.find(".WidgetAppConfigSettingURL").addClass("hidden");
  4290. element.find(".Procedure").addClass("hidden");
  4291. $(".div_formsize_" + len + "").addClass('hidden');
  4292. $('.div_dashboard_' + len + '').removeClass('hidden');
  4293. $('.div_dashboardgroup_' + len + '').addClass('hidden');
  4294. }
  4295. if ($("#ddlSettingUrlType_" + len + ' option:selected').text() == 'Dashboardgroup') {
  4296. var url = _appsettings.server_url() + '/apis/v4/unibase/platform/dashboards/dashboardgroupsautocomplete';
  4297. AutoCompleteHelper.getHelper().Create("#ddlDashboardGroup_" + len, "#hfDashBoardGroup_" + len, url, function (response) {
  4298. var data = response;
  4299. });
  4300. $(".widgetsetingdiv_" + len + "").addClass("hidden");
  4301. $("#Div_DynamicJs_" + len).addClass("hidden");
  4302. $('#summernote_JsFunction_' + len).next().remove();
  4303. element.find(".WidgetAppConfigSettingURL").addClass("hidden");
  4304. element.find(".Procedure").addClass("hidden");
  4305. $(".div_formsize_" + len + "").addClass('hidden');
  4306. $('.div_dashboard_' + len + '').addClass('hidden');
  4307. $('.div_dashboardgroup_' + len + '').removeClass('hidden');
  4308. }
  4309. if ($("#ddlSettingUrlType_" + len + ' option:selected').text() == 'Procedure') {
  4310. $("#Div_DynamicJs_" + len).addClass("hidden");
  4311. $('#summernote_JsFunction_' + len).next().remove();
  4312. element.find(".WidgetAppConfigSettingURL").addClass("hidden");
  4313. element.find(".Procedure").removeClass("hidden");
  4314. $(".div_formsize_" + len + "").addClass('hidden');
  4315. $('.div_dashboard_' + len + '').addClass('hidden');
  4316. $('.widgetsetingdiv_' + len + '').addClass('hidden');
  4317. $('.div_dashboardgroup_' + len + '').addClass('hidden');
  4318. }
  4319. });
  4320. $("#ddlFormInstallAppId_" + len).change(function (e) {
  4321. Widget.Instance().loadAppPermissions(len, Number($("#ddlFormInstallAppId_" + len + "").val()));
  4322. });
  4323. $(".chevron_" + len).click(function () {
  4324. var collapsed = $(".AppConfigRow" + len).hasClass('collapse');
  4325. if (!collapsed) {
  4326. $(".AppConfigRow" + len).addClass('collapse');
  4327. $(".chevron_" + len).removeClass('fa-chevron-up');
  4328. $(".chevron_" + len).addClass('fa-chevron-down');
  4329. }
  4330. else {
  4331. $(".chevron_" + len).removeClass('fa-chevron-down');
  4332. $(".chevron_" + len).addClass(' fa-chevron-up');
  4333. $('.AppConfigRow' + len).removeClass('collapse');
  4334. }
  4335. });
  4336. if (InstalledAppId != 0) {
  4337. Widget.Instance().loadAppPermissions(len, InstalledAppId);
  4338. }
  4339. return len;
  4340. }
  4341. }
  4342. loadAppPermissions(index, installedAppId) {
  4343. var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/apppermissionautocomplete/installedappid/' + installedAppId;
  4344. AutoCompleteHelper.getHelper().Create("#txt_RoleSetting_" + index, "hfRoleSettingAutoComplete_" + index, url, function (response) {
  4345. var data = response;
  4346. });
  4347. }
  4348. bindList(element, index, InstalledAppId) {
  4349. element.find(".delete").on('click', function () {
  4350. Widget.Instance().DeleteConfigurationIds = Widget.Instance().DeleteConfigurationIds + "," + $(this).parents('.AppConfig-row').find('.hf_AppConfigurationId').val();
  4351. $(this).parents('.AppConfig-row').remove();
  4352. Widget.Instance().refreshConfugarationsList;
  4353. Widget.Instance().refreshAppConfiglist();
  4354. });
  4355. element.find(".RoleSetting").on('select2:select', function () {
  4356. Widget.Instance().loadAppPermissions(index, InstalledAppId);
  4357. });
  4358. }
  4359. bindList_New(element, index, InstalledAppId) {
  4360. element.find(".delete").unbind().on('click', function () {
  4361. Widget.Instance().DeleteConfigurationIds = Widget.Instance().DeleteConfigurationIds + "," + $('.AppConfig_' + index).find('.hf_AppConfigurationId').val();
  4362. $('.AppConfig_' + index).remove();
  4363. $('#li_' + index).remove();
  4364. Widget.Instance().refreshConfugarationsList();
  4365. Widget.Instance().refreshAppConfiglist();
  4366. });
  4367. element.find(".RoleSetting").on('select2:select', function () {
  4368. Widget.Instance().loadAppPermissions(index, InstalledAppId);
  4369. });
  4370. }
  4371. loadForms(len, formid, formname) {
  4372. var url = _appsettings.server_url() + '/apis/v4/unibase/platform/forms/getformsautocomplete';
  4373. AutoCompleteHelper.getHelper().Create("#ddlFormUniqueKey_" + len, "hfFormUniqueKeyAutoComplete_" + len, url, function (response) {
  4374. var data = response;
  4375. });
  4376. if (formid != 0) {
  4377. $("#ddlFormUniqueKey_" + len + "").append('<option value="' + formid + '">' + formname + '</option>');
  4378. $("#ddlFormUniqueKey_" + len + "").val(formid).trigger('change');
  4379. }
  4380. }
  4381. loadFormInstalledApps(len) {
  4382. var url = _appsettings.server_url() + '/apis/v4/unibase/platform/apps/installedappautocomplete';
  4383. AutoCompleteHelper.getHelper().Create("#ddlFormInstallAppId_" + len, "hfFormInstalledappAutocomplete_" + len, url, function (response) {
  4384. var data = response;
  4385. });
  4386. }
  4387. loadJsFunction() {
  4388. $(".summernote_JsFunction").summernote({
  4389. height: 150,
  4390. minHeight: null,
  4391. maxHeight: null,
  4392. focus: true,
  4393. placeholder: "Enter JsFunction",
  4394. codemirror: {
  4395. mode: 'text/html',
  4396. htmlNode: true,
  4397. lineNumbers: true
  4398. },
  4399. toolbar: [
  4400. ['font', ['bold', 'italic', 'underline']],
  4401. ['color', ['color']],
  4402. ['view', ['fullscreen', 'codeview', 'help']],
  4403. ],
  4404. });
  4405. }
  4406. refreshConfugarationsList() {
  4407. var len = $('.AppConfig-row').length;
  4408. var count = 1;
  4409. $(".AppConfigurations").find(".AppConfig-row.column-appconfigitem").each(function () {
  4410. if (count <= len) {
  4411. $(this).find(".AppConfig-row").attr('class', 'AppConfig_' + count);
  4412. $(this).find(".SettingName").attr('id', 'txt_SettingName_' + count);
  4413. $(this).find(".SettingURL").attr('id', 'txt_SettingURL_' + count);
  4414. $(this).find(".RoleSetting").attr('id', 'txt_RoleSetting_' + count);
  4415. $(this).find(".Dashboard").attr('id', 'ddlDashboard_' + count);
  4416. $(this).find(".DashboardGroups").attr('id', 'ddlDashboardGroup_' + count);
  4417. $(this).find(".Permission").attr('id', 'ddlPermission_' + count);
  4418. $(this).find(".AppConfigType").attr('id', 'ddlAppConfigType_' + count);
  4419. $(this).find(".AppConfigIcon").attr('id', 'ddlAppConfigIcon_' + count);
  4420. $(this).find(".AppConfigISettingUrlType").attr('id', 'ddlSettingUrlType_' + count);
  4421. $(this).find(".FormInstallAppId").attr('id', 'ddlFormInstallAppId_' + count);
  4422. $(this).find(".summernote_JsFunction").attr('id', 'summernote_JsFunction_' + count);
  4423. $(this).find(".txt_SettingDesignhtml").attr('id', 'txt_SettingDesignhtml_' + count);
  4424. $(this).find(".IsDefault").attr('id', 'chkIsDefault_' + count);
  4425. $(this).find(".Ungrouped").attr('id', 'chkUngrouped_' + count);
  4426. $(this).find(".ExcludeFromLock").attr('id', 'chkExcludeFromLock_1' + count);
  4427. $(this).find(".FormUniqueKey").attr('id', 'ddlFormUniqueKey_' + count);
  4428. $(this).find(".hfAppConfigType").attr('id', 'hfAppConfigType_' + count);
  4429. $(this).find(".ddlFormSize").attr('id', 'ddlFormSize_' + count);
  4430. $(this).attr('id', 'AppConfigId_' + count);
  4431. $(this).attr('class', 'AppConfig-row AppConfig_' + count + ' column-appconfigitem');
  4432. $(this).find(".hfFormUniqueIdAutoComplete").attr('id', 'hfFormUniqueIdAutoComplete_' + count);
  4433. $(this).attr('data-length', count);
  4434. $(this).find('.rowNum').text(count);
  4435. count += 1;
  4436. var element = $(this);
  4437. }
  4438. });
  4439. }
  4440. refreshAppConfiglist() {
  4441. var len = $('.liclassId').length;
  4442. let count1 = 1;
  4443. $("#AppConfigNames").find(".liclassId").each(function () {
  4444. if (count1 <= len) {
  4445. var InstalledAppId_ = Unibase.Themes.Providers.DetailHelper.installedAppId;
  4446. $(this).attr('id', 'li_' + count1);
  4447. $(this).find('.EditAppConfiguration').attr('data-lengthEdit', +count1);
  4448. $(this).find('.EditAppConfiguration').attr('onclick', 'Unibase.Platform.Widgets.Components.Widget.Instance().EditAppConfiguration(' + InstalledAppId_ + ',' + count1 + ')');
  4449. $(this).find('.DeleteAppConfiguration').attr('onclick', 'Unibase.Platform.Widgets.Components.Widget.Instance().DeleteAppConfiguration(' + InstalledAppId_ + ',' + count1 + ')');
  4450. count1 += 1;
  4451. }
  4452. });
  4453. }
  4454. hideKPILabel(fileimage) {
  4455. var instance = this;
  4456. $("#lblKPIImage2").addClass("hidden");
  4457. $("#txt_KPIImageFile").css({ "color": "", "height": "", "width": "" });
  4458. Widget.Instance().Singledoc_array = [];
  4459. let fileInput = document.getElementById("txt_KPIImageFile");
  4460. let file = fileInput.files[0];
  4461. var item = { Files: file };
  4462. Widget.Instance().Singledoc_array.push(item);
  4463. $('.logo-change .progress-wrap').removeClass('d-none');
  4464. $('.logo-change .progress-wrap').addClass('d-flex');
  4465. var fileName = $('#txt_KPIImageFile').val();
  4466. $('#lblKPIFileName').html('<span class="d-flex justify-content-between"><span>' + fileName.replace("C:\\fakepath\\", "") + '</span><a href="javascript:;" class="ml-2 delete-icon-kpi text-danger"><i class="las la-times"></i></a></span>');
  4467. $('.delete-icon-kpi').unbind().on('click', function () {
  4468. $(this).parent().addClass('invisible');
  4469. Unibase.Platform.Widgets.Components.Widget.Instance().ImageData = undefined;
  4470. });
  4471. $('#lblKPIFileName').siblings('a').removeClass('hidden');
  4472. const reader = new FileReader();
  4473. reader.onload = function () {
  4474. console.log(`${reader.result}`);
  4475. instance.imageSrc = `${reader.result}`;
  4476. $('.imageUpload').attr('src', instance.imageSrc);
  4477. };
  4478. if (file) {
  4479. reader.readAsDataURL(file);
  4480. }
  4481. }
  4482. getBase64(item) {
  4483. return __awaiter(this, void 0, void 0, function* () {
  4484. var filename = "";
  4485. filename = item.Files.DocumentFileName;
  4486. if (filename == undefined)
  4487. filename = item.Files.name;
  4488. let file = item.Files;
  4489. let fileInfo = item.Files.name.split('.');
  4490. return new Promise((resolve, reject) => {
  4491. let content = '';
  4492. const reader = new FileReader();
  4493. reader.readAsDataURL(item.Files);
  4494. reader.onloadend = function () {
  4495. var base64String = reader.result.toString().replace(/^data:.+;base64,/, '');
  4496. var fileReq = {
  4497. FileData: base64String,
  4498. FileName: fileInfo[0],
  4499. FileType: fileInfo[1],
  4500. ByteData: null
  4501. };
  4502. resolve(fileReq);
  4503. };
  4504. reader.onerror = function (e) {
  4505. reject(e);
  4506. };
  4507. });
  4508. });
  4509. }
  4510. saveWidget(InstalledAppId) {
  4511. var instance = this;
  4512. let FormDiv = ['frmUnibase_widgetBuilderDetailsLeftNav', 'txt_WidgetName', 'frmUnibase_widgetBuilderAppearance'];
  4513. let isFormValid = true;
  4514. let requiredFieldsLength = 0;
  4515. $.each(FormDiv, function (index, item) {
  4516. let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(item);
  4517. if (result == false) {
  4518. isFormValid = false;
  4519. if (item == 'frmUnibase_widgetBuilderDetailsLeftNav') {
  4520. requiredFieldsLength += $("#" + item).find(".form-group-required").length;
  4521. }
  4522. else {
  4523. requiredFieldsLength += $("#" + item + ".form-group-required").length;
  4524. }
  4525. }
  4526. });
  4527. if (isFormValid) {
  4528. let uniqueId = "";
  4529. if (InstalledAppId != 0) {
  4530. instance.fileCacheHelper.loadJsFile("platform/apps/managers/appmanager.js", function () {
  4531. Unibase.Platform.Apps.Managers.AppManager.Instance().getInstallApp(InstalledAppId).then(function (response) {
  4532. if (response.result != null) {
  4533. uniqueId = response.result.UniqueId;
  4534. Widget.Instance()._saveWidget(uniqueId, response.result.InstalledAppId);
  4535. }
  4536. });
  4537. });
  4538. }
  4539. else {
  4540. Widget.Instance()._saveWidget(uniqueId, InstalledAppId);
  4541. }
  4542. var designsPreviewIndex = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.findIndex(x => x == 'designsPreviewAppend');
  4543. if (designsPreviewIndex != -1) {
  4544. Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.splice(designsPreviewIndex, 1);
  4545. }
  4546. }
  4547. else {
  4548. let formPropertyName = $('.form-group-required').data('validatename');
  4549. MessageHelper.Instance().showError(formPropertyName + " Mandatory fields are missing", "bizgaze_ValidationSummary");
  4550. return false;
  4551. }
  4552. }
  4553. _saveWidget(uniqueId, InstalledAppId) {
  4554. return __awaiter(this, void 0, void 0, function* () {
  4555. var instance = this;
  4556. let parameter = "";
  4557. $("#ulparamers").find(".row-item-li").each(function () {
  4558. if (parameter != "")
  4559. parameter += "|";
  4560. parameter += $(this).find("#row1").text() + ":" + $(this).find("#row2").text() + ":" + $(this).find("#row3").text() + ":" + $(this).find("#row6").val() + ":" + $(this).find("#row4").val();
  4561. });
  4562. let WidgetId = 0;
  4563. WidgetId = Number($("#hf_WidgetId").val());
  4564. var ismandatory = false;
  4565. if ($("#chkIsMandatory").is(':checked') == true) {
  4566. ismandatory = true;
  4567. }
  4568. else {
  4569. ismandatory = false;
  4570. }
  4571. let WidgetType = 0;
  4572. var TableData = new Array();
  4573. var DetailWidgetTableData = new Array();
  4574. let Layout = Number($("#ddlWidgetLayout option:selected").val());
  4575. var layoutName = $("#ddlWidgetLayout option:selected").text();
  4576. var lowercase = layoutName.toLowerCase();
  4577. if (RegExp("detail").test(lowercase)) {
  4578. if ($('#ulcolumns li').length <= 0) {
  4579. MessageHelper.Instance().showError("Details widget should contain atleast one column", "bizgaze_ValidationSummary");
  4580. return false;
  4581. }
  4582. WidgetType = Layout;
  4583. var len = document.getElementById("ulcolumns").getElementsByTagName("li").length;
  4584. var detailIcon = "";
  4585. if ($("#ddlDetailIcon option:selected").val() != 0)
  4586. detailIcon = "fa fa-" + $("#ddlDetailIcon option:selected").text();
  4587. TableData[0] =
  4588. {
  4589. "Icon": detailIcon,
  4590. "LinkUrl": $("#txt_DetaillinkURL").val(),
  4591. };
  4592. for (var row = 1; row <= len; row++) {
  4593. var colVal = "{{" + $("#columnId_" + row).find("#row1").text().trim() + "}}";
  4594. var propIndex = parseInt($("#columnId_" + row).find("#row5").text());
  4595. DetailWidgetTableData[row - 1] =
  4596. {
  4597. "HyperLink": $("#columnId_" + row).find("#row4").text(),
  4598. "Label": $("#columnId_" + row).find("#row3").text(),
  4599. "PropertyIndex": propIndex - 1,
  4600. "Value": colVal,
  4601. "DetailsWidgetPropertyId": Number($("#columnId_" + row).find("#row0").val()),
  4602. "ConverterValue": $("#columnId_" + row).find("#row6").val().toString(),
  4603. "ConverterType": Number($("#columnId_" + row).find("#ConverterType").val())
  4604. };
  4605. }
  4606. ;
  4607. }
  4608. else if (RegExp("kpi").test(lowercase)) {
  4609. var filePath = "";
  4610. if (Widget.Instance().Singledoc_array.length > 0) {
  4611. }
  4612. WidgetType = Layout;
  4613. var kpiColor = "";
  4614. var selected_columns = "";
  4615. let selected_columns_labels = "";
  4616. if ($("#ddlKPIColor option:selected").val() != 0)
  4617. kpiColor = $("#ddlKPIColor option:selected").text();
  4618. if (!$("#lblKPIImage2").hasClass("hidden")) {
  4619. let filePath = $("#hf_KPIIconPath").val();
  4620. }
  4621. if ($("#ddlWidgetDesign option:selected").text() == "KPI_Default" || $("#ddlWidgetDesign option:selected").text() == "KPI_Icon" || $("#ddlWidgetDesign option:selected").text() == "KPI_Icon_Color" || $("#ddlWidgetDesign option:selected").text() == "KPI_Icon_Bg_Color" || $("#ddlWidgetDesign option:selected").text() == "KPI_Left_Bar_color_Icon" || $("#ddlWidgetDesign option:selected").text() == "KPI_KPISingleValueWithborder") {
  4622. selected_columns = $("#ddlSelectedValue_1 option:selected").text();
  4623. selected_columns_labels = $('#ddlSelectedLabelValue_1').val();
  4624. }
  4625. else if ($("#ddlWidgetDesign option:selected").text() == "KPI_TwoValue" || $("#ddlWidgetDesign option:selected").text() == "KPI_TwoValue_BottomBar_color" || $("#ddlWidgetDesign option:selected").text() == "KPI_KPISingleValueWithPercentage" || $("#ddlWidgetDesign option:selected").text() == "KPI_KPISingleValueWithPercentage_ProgressBar" || $("#ddlWidgetDesign option:selected").text() == "KPI_KPISingleValueWithPercentage_BgColor" || $("#ddlWidgetDesign option:selected").text() == "KPI_TwoValue_BgColor" || $("#ddlWidgetDesign option:selected").text() == "KPI_TwoValue_PieIcon" || $("#ddlWidgetDesign option:selected").text() == "KPI_TwoValue_LineCenter" || $("#ddlWidgetDesign option:selected").text() == "KPI_KPISingleValueWithPie_Icon") {
  4626. selected_columns = $("#ddlSelectedValue_1 option:selected").text() + ',' + $("#ddlSelectedValue_2 option:selected").text();
  4627. selected_columns_labels = $('#ddlSelectedLabelValue_1').val() + ',' + $('#ddlSelectedLabelValue_2').val();
  4628. }
  4629. else if (($("#ddlWidgetDesign option:selected").text()) == "KPI_Comparison" || ($("#ddlWidgetDesign option:selected").text()) == "Kpi_fulfillment" || ($("#ddlWidgetDesign option:selected").text()) == "KPI_ComparisonRightBar_color" || ($("#ddlWidgetDesign option:selected").text()) == "KPI_ComparisonBottomBar_Color") {
  4630. if ($("#ddlSelectedValue_3 option:selected").text() == "Select Column") {
  4631. selected_columns = $("#ddlSelectedValue_1 option:selected").text() + ',' + $("#ddlSelectedValue_2 option:selected").text();
  4632. selected_columns_labels = $('#ddlSelectedLabelValue_1').val() + ',' + $('#ddlSelectedLabelValue_2').val() + ',' + $('#ddlSelectedLabelValue_3').val();
  4633. }
  4634. else {
  4635. selected_columns = $("#ddlSelectedValue_1 option:selected").text() + ',' + $("#ddlSelectedValue_2 option:selected").text() + ',' + $("#ddlSelectedValue_3 option:selected").text();
  4636. selected_columns_labels = $('#ddlSelectedLabelValue_1').val() + ',' + $('#ddlSelectedLabelValue_2').val() + ',' + $('#ddlSelectedLabelValue_3').val();
  4637. }
  4638. }
  4639. var selected_column_1 = $("#ddlSelectedValue_1 option:selected").text();
  4640. var selected_column_2 = $("#ddlSelectedValue_2 option:selected").text();
  4641. if (selected_column_1 == 'Select Column' && selected_column_2 == 'Select Column') {
  4642. MessageHelper.Instance().showError("Need to select any one of the select value columns ", "bizgaze_ValidationSummary");
  4643. return false;
  4644. }
  4645. var file = $('#txt_KPIImageFile').get(0);
  4646. var files = file.files;
  4647. var kpi_height = $("#ddlheight").val();
  4648. if (files.length == 1) {
  4649. instance.ImageData = new Unibase.Platform.Helpers.File();
  4650. if (files.length != 0) {
  4651. var item = { Files: files[0] };
  4652. yield instance.getBase64(item).then(function (res) {
  4653. instance.ImageData = res;
  4654. });
  4655. }
  4656. }
  4657. else {
  4658. instance.ImageData;
  4659. }
  4660. let KpiSettings = new Array();
  4661. KpiSettings[0] = {
  4662. "DataType": $('#kpidataType_1 option:selected').val() + "," + $('#kpidataType_2 option:selected').val() + "," + $('#kpidataType_3 option:selected').val(),
  4663. "IsRoundOff": $('#kpi_isroundoff_1[type=checkbox]').is(':checked') + "," + $('#kpi_isroundoff_2[type=checkbox]').is(':checked') + "," + $('#kpi_isroundoff_3[type=checkbox]').is(':checked')
  4664. };
  4665. TableData[0] =
  4666. {
  4667. "Color": kpiColor,
  4668. "Icon": "",
  4669. "File": instance.ImageData,
  4670. "LinkUrl": $("#txt_KPIlinkURL").val(),
  4671. "Selected_Columns": selected_columns,
  4672. "Selected_Columns_Labels": selected_columns_labels,
  4673. "LinkReportId": Number($("#ddlLinkReportId").val()),
  4674. "KpiHeight": String(($("#ddlheight").val())),
  4675. "KpiSetting": JSON.stringify(KpiSettings)
  4676. };
  4677. }
  4678. else if (RegExp("list").test(lowercase)) {
  4679. WidgetType = Layout;
  4680. var issearchable = 0;
  4681. var issortable = 0;
  4682. var ispagination = 0;
  4683. if ($("#chkIsSearchable").is(':checked') == true)
  4684. issearchable = 1;
  4685. else
  4686. issearchable = 0;
  4687. if ($("#chkIsSortable").is(':checked') == true)
  4688. issortable = 1;
  4689. else
  4690. issortable = 0;
  4691. if ($("#chkIsPagination").is(':checked') == true)
  4692. ispagination = 1;
  4693. else
  4694. ispagination = 0;
  4695. var listIcon = "";
  4696. if ($("#ddlListIcon").val() != 0)
  4697. listIcon = "fa fa-" + $("#ddlListIcon").children("option:selected").text();
  4698. TableData[0] =
  4699. {
  4700. "LinkUrl": $("#txt_ListlinkURL").val(),
  4701. "Icon": listIcon,
  4702. "IsSearchable": issearchable,
  4703. "IsSortable": issortable,
  4704. "IsPagination": ispagination,
  4705. "HeaderText": $("#summernote_ListHeaderTxt").summernote("code"),
  4706. "TemplateText": $("#summernote_ListTemplateTxt").summernote("code"),
  4707. "JS": $("#summernote_ListJS").summernote("code"),
  4708. };
  4709. }
  4710. else {
  4711. WidgetType = Layout;
  4712. }
  4713. var highlighter = "";
  4714. if ($("#ddlColorCode option:selected").val() != 0)
  4715. highlighter = $("#ddlColorCode option:selected").text();
  4716. var iconName = "";
  4717. if ($("#ddlIcon option:selected").val() != 0)
  4718. iconName = "fa fa-" + $("#ddlIcon option:selected").text();
  4719. let uniqueName = $("#txt_WidgetUniqueName").val().toString();
  4720. let AppproviderIds = "";
  4721. if ($("#ddlAppProviders").val() != 0) {
  4722. AppproviderIds = $("#ddlAppProviders").val().toString();
  4723. }
  4724. let layoutid = $("#Layout option:selected").val();
  4725. let reportid = $("#ddlReport option:selected").val();
  4726. if (reportid == undefined)
  4727. reportid = 0;
  4728. else
  4729. reportid = Number(reportid);
  4730. if (layoutid == "0")
  4731. reportid = 0;
  4732. let ConfugarationsData = Widget.Instance().getConfigurations(uniqueId, InstalledAppId);
  4733. let CssPropertyData = new Array();
  4734. CssPropertyData[0] =
  4735. {
  4736. "BorderWidth": $('#border-width').val(),
  4737. "BorderColor": $('#border-color').val(),
  4738. "BorderType": $('#border-type').val(),
  4739. "BorderRadius": $('#border-radius').val(),
  4740. "FontSize": $('#font-size').val(),
  4741. "FontFamily": $('#font-style').val(),
  4742. "BackgroundColor": $('#backgroundcolor').attr('data-backgroundcolor'),
  4743. "FontColor": "",
  4744. "ListStyleType": $('#list-style-type').val(),
  4745. "DetailsBorderType": $('#border-type-details').val(),
  4746. "DetailsBorderWidth": $('#border-width-details').val(),
  4747. "DetailsBorderColor": $('#border-color-details').val(),
  4748. "DetailsBorderRadius": $('#border-radius-details').val(),
  4749. "IsDetailsHeader": $('#DetailHeader_collapase').prop("checked"),
  4750. "Height": $("#ddlheight").val() + 'px',
  4751. "Width": $('#ddlWidth').val(),
  4752. "ReportCollapase": $('#report_collapase').prop("checked"),
  4753. "KPI_LinkReportLabelName": $('#txt_LinkReportLabelName').val(),
  4754. "KPI_ValueHidden": $("#value_1_hidden[type='checkbox']").is(":checked") + "," + $("#value_2_hidden[type='checkbox']").is(":checked") + "," + $("#value_3_hidden[type='checkbox']").is(":checked")
  4755. };
  4756. let viewallstages = true;
  4757. if (WidgetId != 0 && ($("#hf_viewallstages").val() == 'false')) {
  4758. viewallstages = false;
  4759. }
  4760. let CustomHtml = '';
  4761. if ($('#designsPreviewAppend textarea').length != 0) {
  4762. CustomHtml = $('#designsPreviewAppend textarea').val().toString();
  4763. }
  4764. else {
  4765. CustomHtml = instance.customHtml;
  4766. }
  4767. let PostData = {
  4768. WidgetId: WidgetId,
  4769. PortletWidgetId: Number($('#portlewidgetid').val()),
  4770. PortletWidgetHeight: Number($('#ddlheight').val()),
  4771. IsCollapse: $('#report_collapase').prop("checked"),
  4772. WidgetName: $("#txt_WidgetName").val().toString(),
  4773. WidgetTypeId: Number($("#ddlWidgetType option:selected").val()),
  4774. WidgetFormatId: Number($("#ddlWidgetFormat option:selected").val()),
  4775. Width: Number($("#ddlWidth option:selected").val()),
  4776. IsMandatory: Boolean(ismandatory),
  4777. Data: TableData,
  4778. CssProperty: JSON.stringify(CssPropertyData),
  4779. DetailWidgetData: DetailWidgetTableData,
  4780. ImageUrl: $("#txt_ImageFile").text(),
  4781. WidgetUrl: ($("#txt_WidgetUrlFile").val()).toString(),
  4782. WidgetLayoutId: Number(WidgetType),
  4783. WidgetDesignId: Number($("#ddlWidgetDesign").val()),
  4784. Parameters: parameter,
  4785. IconName: iconName,
  4786. ReportId: Number(reportid),
  4787. Highlighter: highlighter,
  4788. AppProviders: "",
  4789. AppProviderIds: AppproviderIds,
  4790. UniqueId: uniqueName,
  4791. AppConfigurationData: ConfugarationsData,
  4792. Height: Number(0.0),
  4793. X: Number(0.0),
  4794. Y: Number(0.0),
  4795. ViewAllStages: viewallstages,
  4796. StaticJsPath: $(".summernote_StaticJsFunction").val().toString(),
  4797. DeleteConfigurationIds: Widget.Instance().DeleteConfigurationIds,
  4798. CustomHtml: CustomHtml
  4799. };
  4800. $.when(Unibase.Platform.Widgets.Managers.WidgetManager.Instance().saveWidget(PostData)).then(function (response) {
  4801. if (response.status == 0) {
  4802. let message = $("#txt_WidgetName").val().toString() + " Widget Updated Successfully";
  4803. if (WidgetId == 0)
  4804. message = $("#txt_WidgetName").val().toString() + " Widget Saved Successfully";
  4805. MessageHelper.Instance().showSuccess(message, 'bizgaze_ValidationSummary');
  4806. $("#btn-widget-close").trigger('click');
  4807. $("#bizgaze_body").addClass("edit-dashboard-mode");
  4808. $('.biz-pg-wrapper.biz-secondary-color').find('._bizgaze_detail_container.bg-cyan-light-5-removed').last().removeClass('hidden');
  4809. instance.loadNewWidgets("PageWidgets", true, InstalledAppId);
  4810. instance.loadNewWidgets("CommonWidgets", true, InstalledAppId);
  4811. instance.loadNewWidgets("AddedWidgets", true, InstalledAppId);
  4812. }
  4813. else {
  4814. MessageHelper.Instance().showError(response.message, "bizgaze_ValidationSummary");
  4815. }
  4816. });
  4817. });
  4818. }
  4819. getConfigurations(uniqueId, InstalledAppId) {
  4820. var Confugarations = new Array();
  4821. var Configurationlist = [];
  4822. var isDefault = 0;
  4823. var ungrouped = 0;
  4824. var excludefromlock = 0;
  4825. let WidgetId = Number($("#hf_WidgetId").val());
  4826. $(".AppConfigurations").find(".AppConfig-row").each(function (e) {
  4827. let item = $(this).find(".SettingName");
  4828. if (item.length != 0) {
  4829. var formroles = [];
  4830. $(this).find('.formroles').each(function (e) {
  4831. var id = $(this).attr("id");
  4832. var formid = Number($("#hidden_" + id + "_formid").val());
  4833. var roleid = Number($("#hidden_" + id + "_roleid").val());
  4834. var formroleid = Number($("#hidden_" + id + "_formroleid").val());
  4835. var obj = {
  4836. FormId: formid,
  4837. RoleId: roleid,
  4838. FormRoleId: formroleid,
  4839. DefaultSaveSetting: 1,
  4840. AppConfigurationId: 0,
  4841. IsDuplicateForm: false,
  4842. JsText: $(this).find(".note-editable").text()
  4843. };
  4844. formroles.push(obj);
  4845. });
  4846. let id = item[0].id.split('_');
  4847. let len = id[2];
  4848. if ($(this).find("#txt_SettingName_" + len + "").val() != undefined) {
  4849. let InstalledAppGuid = "";
  4850. if ($("#chkIsDefault_" + len + "").is(':checked') == true) {
  4851. isDefault = 1;
  4852. }
  4853. else {
  4854. isDefault = 0;
  4855. }
  4856. if ($("#chkUngrouped_" + len + "").is(':checked') == true) {
  4857. ungrouped = 1;
  4858. }
  4859. else {
  4860. ungrouped = 0;
  4861. }
  4862. if ($("#chkExcludeFromLock_" + len + "").is(':checked') == true) {
  4863. excludefromlock = 1;
  4864. }
  4865. else {
  4866. excludefromlock = 0;
  4867. }
  4868. let SettingName = $(this).find("#txt_SettingName_" + len + "").val().toString();
  4869. let SettingURL = $(this).find("#txt_SettingURL_" + len + "").val().toString();
  4870. let SettingUrlType = $(this).find("#ddlSettingUrlType_" + len + "").val();
  4871. let RoleSetting = 0;
  4872. if ($(this).find("#txt_RoleSetting_" + len + " option:selected").val() != undefined)
  4873. RoleSetting = Number($(this).find("#txt_RoleSetting_" + len + " option:selected").val());
  4874. let Permission = $(this).find("#ddlPermission_" + len + " option:selected").val();
  4875. let AppConfigType = $(this).find("#ddlAppConfigType_" + len + " option:selected").val();
  4876. let Icon = "";
  4877. if ($("#ddlAppConfigIcon_" + len).val() != "0" && $("#ddlAppConfigIcon_" + len).val() != null)
  4878. Icon = $(this).find("#ddlAppConfigIcon_" + len + " option:selected").val().toString();
  4879. let IsDefault = isDefault;
  4880. let FormInstalledAppId;
  4881. FormInstalledAppId = Number($(this).find("#ddlFormInstallAppId_" + len).val());
  4882. if (FormInstalledAppId == undefined) {
  4883. FormInstalledAppId = 0;
  4884. }
  4885. let Ungrouped = ungrouped;
  4886. let FormId = $(this).find("#ddlFormUniqueKey_" + len + " option:selected").val();
  4887. if (FormId == undefined)
  4888. FormId = 0;
  4889. let FormUniqueId = $(this).find("#hfFormUniqueIdAutoComplete_" + len + "").val();
  4890. let JsFunction = HtmlHelper.getHelper().encode($("#summernote_JsFunction_" + len + "").val());
  4891. let PropertyIndex = $(this).find("#row5").text();
  4892. let UniqueId = uniqueId + "_AppConfiguration_" + SettingName;
  4893. let SettingDesignhtml = "";
  4894. let dynamicjs = "";
  4895. if (Number(AppConfigType) == 6 || Number(AppConfigType) == 3) {
  4896. SettingDesignhtml = HtmlHelper.getHelper().encode($("#txt_SettingDesignhtml_" + len).val().toString());
  4897. }
  4898. if (SettingUrlType == "3") {
  4899. dynamicjs = HtmlHelper.getHelper().encode($("#txt_DynamicJs_" + len).val().toString());
  4900. }
  4901. var deleteconfig = "";
  4902. if (JSON.parse(AppConfigType.toString()) == 3 || $(this).find('.AppConfigType option:selected').val() == 5) {
  4903. if ($('#ddlSettingUrlType_' + len + ' option:selected').val() == 1) {
  4904. deleteconfig = ($(this).find('.deleteconfig_config').val()).toString();
  4905. }
  4906. }
  4907. var widgetid = $("#ddlWidgets_" + len + "").val();
  4908. if (widgetid == undefined || widgetid == "") {
  4909. widgetid = 0;
  4910. }
  4911. var formsize = $(this).find("#ddlFormSize_" + len + " option:selected").val();
  4912. if (Number(SettingUrlType) != 1) {
  4913. formsize = Unibase.Platform.Helpers.Size.None;
  4914. }
  4915. var dashboardid = $(this).find("#ddlDashboard_" + len + " option:selected").val();
  4916. if (dashboardid == undefined) {
  4917. dashboardid = 0;
  4918. }
  4919. var dashboardgroupid = $(this).find("#ddlDashboardGroup_" + len + " option:selected").val();
  4920. if (dashboardgroupid == undefined) {
  4921. dashboardgroupid = 0;
  4922. }
  4923. if ($(this).find("#txt_SettingName_" + len + "").val() != "") {
  4924. var Configurations = {
  4925. AppConfigurationId: Number($(this).find('.hf_AppConfigurationId').val()),
  4926. SettingName: SettingName,
  4927. DeleteConfigurationIds: deleteconfig,
  4928. SettingUrl: SettingURL.toString(),
  4929. SettingUrlType: JSON.parse(SettingUrlType.toString()),
  4930. Permission: JSON.parse(Permission.toString()),
  4931. AppConfigType: JSON.parse(AppConfigType.toString()),
  4932. FormId: Number(FormId),
  4933. Icon: Icon,
  4934. LinkWidgetId: Number(widgetid),
  4935. UniqueKey: '',
  4936. Ungrouped: Boolean(Ungrouped),
  4937. InstalledAppId: Number(FormInstalledAppId),
  4938. IsDefault: Boolean(IsDefault),
  4939. FormInstalledAppId: 0,
  4940. FormUniqueId: FormUniqueId.toString(),
  4941. JsFunction: JsFunction.toString(),
  4942. PropertyIndex: Number(PropertyIndex),
  4943. FormRoles: formroles,
  4944. UniqueId: $(this).find('.hf_AppConfigurationUniqueId').val().toString(),
  4945. InstalledAppGuid: InstalledAppGuid,
  4946. SettingDesignHtml: SettingDesignhtml,
  4947. DynamicJs: dynamicjs,
  4948. AppPermissionId: Number(RoleSetting),
  4949. FormSize: JSON.parse(formsize.toString()),
  4950. DashboardId: Number(dashboardid),
  4951. DashboardGroupId: Number(dashboardgroupid),
  4952. ExcludeFromLock: Boolean(excludefromlock)
  4953. };
  4954. Configurationlist.push(Configurations);
  4955. }
  4956. }
  4957. }
  4958. });
  4959. return Configurationlist;
  4960. }
  4961. loadWidgetData(wid, InstalledAppId, ispreview, PortletWidgetId, IsFromAddWidget) {
  4962. $("#bizgaze_body").removeClass("edit-dashboard-mode");
  4963. $(".biz-submenu").css({ "z-index": "1040" });
  4964. $(".biz-layout-3-left-nav").css({ "z-index": "1040" });
  4965. $(".toplayout-structures-panel").css({ "z-index": "1040" });
  4966. var instance = this;
  4967. var EditMode = instance.defautSettings.filter(function (o) { return o.widgetdesignid === 20210628; });
  4968. EditMode[0].mode = 'Edit_Mode';
  4969. EditMode[0].defaultMode = "editing";
  4970. this.navigationHelper.popup(InstalledAppId, "", Widget.Instance(), function () {
  4971. $('#portlewidgetid').val(PortletWidgetId);
  4972. if (PortletWidgetId == undefined || PortletWidgetId == null) {
  4973. PortletWidgetId = 0;
  4974. }
  4975. Unibase.Platform.Widgets.Managers.WidgetManager.Instance().getWidget(wid).then(function (widgetresponse) {
  4976. $("#hd_WidgetName").text("Edit Widget");
  4977. $("#hf_viewallstages").val(String(widgetresponse.result.ViewAllStages));
  4978. var widgetData = widgetresponse.result, PortletWidgetHeight, csspropertyJSON;
  4979. instance.widgetDesignNameRes = widgetData.WidgetDesignName;
  4980. if (widgetData.WidgetDesignId == 0) {
  4981. instance.backOption = 'Mode-1';
  4982. }
  4983. else {
  4984. instance.backOption = 'Mode-2';
  4985. }
  4986. if (IsFromAddWidget) {
  4987. instance.loadEditData(widgetData, null, IsFromAddWidget, InstalledAppId);
  4988. }
  4989. else {
  4990. Unibase.Platform.Widgets.Managers.WidgetManager.Instance().getPortletWidget(PortletWidgetId).then(function (portletWidgetResponse) {
  4991. instance.loadEditData(widgetData, portletWidgetResponse.result, IsFromAddWidget, InstalledAppId);
  4992. });
  4993. }
  4994. });
  4995. }, Platform.Helpers.Size.ExtraLarge);
  4996. }
  4997. loadEditData(widgetData, portletWidgetData, isFromAddWidget, appId) {
  4998. var instance = this, csspropertyJSON, PortletWidgetHeight, PortletWidgetId;
  4999. if (isFromAddWidget) {
  5000. if (widgetData.CssProperty == null) {
  5001. MessageHelper.Instance().showError("CssProperty is null", "bizgaze_ValidationSummary");
  5002. return false;
  5003. }
  5004. csspropertyJSON = JSON.parse(widgetData.CssProperty);
  5005. PortletWidgetHeight = '';
  5006. PortletWidgetId = 0;
  5007. }
  5008. else {
  5009. if (portletWidgetData.PortletWidgetCss != null && portletWidgetData.PortletWidgetCss != "") {
  5010. csspropertyJSON = JSON.parse(portletWidgetData.PortletWidgetCss);
  5011. PortletWidgetHeight = portletWidgetData.PortletWidgetHeight;
  5012. }
  5013. else {
  5014. if (widgetData.CssProperty == null) {
  5015. MessageHelper.Instance().showError("CssProperty is null", "bizgaze_ValidationSummary");
  5016. return false;
  5017. }
  5018. csspropertyJSON = JSON.parse(widgetData.CssProperty);
  5019. PortletWidgetHeight = '';
  5020. }
  5021. PortletWidgetId = portletWidgetData.PortletWidgetId;
  5022. }
  5023. let CssProperty = [{
  5024. "BorderWidth": csspropertyJSON[0].BorderWidth,
  5025. "BorderColor": csspropertyJSON[0].BorderColor,
  5026. "BorderType": csspropertyJSON[0].BorderType,
  5027. "BorderRadius": csspropertyJSON[0].BorderRadius,
  5028. "FontSize": csspropertyJSON[0].FontSize,
  5029. "FontFamily": csspropertyJSON[0].FontStyle,
  5030. "BackgroundColor": csspropertyJSON[0].BackgroundColor,
  5031. "ListStyleType": csspropertyJSON[0].ListStyleType,
  5032. "DetailsBorderType": csspropertyJSON[0].DetailsBorderType,
  5033. "DetailsBorderWidth": csspropertyJSON[0].DetailsBorderWidth,
  5034. "DetailsBorderColor": csspropertyJSON[0].DetailsBorderColor,
  5035. "DetailsBorderRadius": csspropertyJSON[0].DetailsBorderRadius,
  5036. }];
  5037. var array = [], previewResponse, result;
  5038. var parameters = {
  5039. WidgetId: widgetData.WidgetId,
  5040. PortletWidgetId: 2250,
  5041. InstalledAppId: 0,
  5042. InputParameters: [],
  5043. FromDate: '',
  5044. ToDate: '',
  5045. };
  5046. $("#font-size").val(csspropertyJSON[0].FontSize);
  5047. $("#font-style").val(csspropertyJSON[0].FontStyle);
  5048. $("#border-type").val(csspropertyJSON[0].BorderType);
  5049. $("#border-width").val(csspropertyJSON[0].BorderWidth);
  5050. $("#border-color").val(csspropertyJSON[0].BorderColor).trigger('change');
  5051. $("#backgroundcolor-color-picker").val(csspropertyJSON[0].BackgroundColor).trigger('change');
  5052. $("#border-radius").val(csspropertyJSON[0].BorderRadius);
  5053. $("#backgroundcolor").css({ 'background-color': csspropertyJSON[0].BackgroundColor });
  5054. $('#backgroundcolor').attr('data-backgroundcolor', csspropertyJSON[0].BackgroundColor);
  5055. $("#ddlWidth").val(widgetData.Width);
  5056. $('#list-style-type').val(csspropertyJSON[0].ListStyleType);
  5057. $('#border-type-details').val(csspropertyJSON[0].DetailsBorderType);
  5058. $('#border-width-details').val(csspropertyJSON[0].DetailsBorderWidth);
  5059. $('#border-color-details').val(csspropertyJSON[0].DetailsBorderColor);
  5060. $('#border-radius-details').val(csspropertyJSON[0].DetailsBorderRadius);
  5061. if (csspropertyJSON[0].IsDetailsHeader == true) {
  5062. $('#DetailHeader_collapase').attr("checked", "true");
  5063. }
  5064. let kpihidden = [];
  5065. if (csspropertyJSON[0].KPI_ValueHidden != '' && csspropertyJSON[0].KPI_ValueHidden != null) {
  5066. kpihidden = csspropertyJSON[0].KPI_ValueHidden.split(',');
  5067. }
  5068. if (csspropertyJSON[0].KPI_LinkReportLabelName != undefined && csspropertyJSON[0].KPI_LinkReportLabelName != null && csspropertyJSON[0].KPI_LinkReportLabelName != '') {
  5069. $('#txt_LinkReportLabelName').val(csspropertyJSON[0].KPI_LinkReportLabelName);
  5070. }
  5071. $('#ddlheight').val(PortletWidgetHeight);
  5072. if (!isFromAddWidget && portletWidgetData.PortletWidgetCss != '' && portletWidgetData.PortletWidgetCss != undefined) {
  5073. if (portletWidgetData.IsCollapse != true) {
  5074. $('#report_collapase').removeAttr("checked");
  5075. }
  5076. else {
  5077. $('#report_collapase').attr("checked", "true");
  5078. }
  5079. if (kpihidden[0] == 'true' && kpihidden[0] != '' && kpihidden[0] != null && kpihidden[0].length != 0) {
  5080. $('#value_1_hidden ').attr("checked", "true");
  5081. }
  5082. else {
  5083. $('#value_1_hidden ').removeAttr("checked");
  5084. }
  5085. if (kpihidden[1] == 'true' && kpihidden[1] != '' && kpihidden[1] != null && kpihidden[1].length != 0) {
  5086. $('#value_2_hidden ').attr("checked", "true");
  5087. }
  5088. else {
  5089. $('#value_2_hidden ').removeAttr("checked");
  5090. }
  5091. if (kpihidden[2] == 'true' && kpihidden[2] != '' && kpihidden[2] != null && kpihidden[2].length != 0) {
  5092. $('#value_3_hidden ').attr("checked", "true");
  5093. }
  5094. else {
  5095. $('#value_3_hidden ').removeAttr("checked");
  5096. }
  5097. }
  5098. else {
  5099. if (csspropertyJSON[0].ReportCollapase == true) {
  5100. $('#report_collapase').attr("checked", "true");
  5101. }
  5102. if (kpihidden[0] == 'true' && kpihidden[0] != '' && kpihidden[0] != null && kpihidden[0].length != 0) {
  5103. $('#value_1_hidden ').attr("checked", "true");
  5104. }
  5105. else {
  5106. $('#value_1_hidden ').removeAttr("checked");
  5107. }
  5108. if (kpihidden[1] == 'true' && kpihidden[1] != '' && kpihidden[1] != null && kpihidden[1].length != 0) {
  5109. $('#value_2_hidden ').attr("checked", "true");
  5110. }
  5111. else {
  5112. $('#value_2_hidden ').removeAttr("checked");
  5113. }
  5114. if (kpihidden[2] == 'true' && kpihidden[2] != '' && kpihidden[2] != null && kpihidden[2].length != 0) {
  5115. $('#value_3_hidden ').attr("checked", "true");
  5116. }
  5117. else {
  5118. $('#value_3_hidden ').removeAttr("checked");
  5119. }
  5120. }
  5121. if (widgetData.ImageUrl != "" && widgetData.ImageUrl != null) {
  5122. $("#txt_ImageFile").css({ "color": "transparent", "height": "40px", "width": "100px" });
  5123. $("#lblImage2").removeClass("hidden");
  5124. $("#div_WidgetImageFile").addClass("floating-label-form-group-with-value");
  5125. var widgetUrl = widgetData.ImageUrl.split("\\");
  5126. var wUrl = widgetUrl[widgetUrl.length - 1];
  5127. $("#lblImage2").text(wUrl);
  5128. }
  5129. $("#txt_WidgetName").val(widgetData.WidgetName);
  5130. $("#txt_WidgetUniqueName").val(widgetData.UniqueId);
  5131. $("#hf_WidgetId").val(widgetData.WidgetId);
  5132. $(".summernote_StaticJsFunction").val(widgetData.StaticJsPath);
  5133. $('#btn-widget-builder-reset').attr('onClick', 'Unibase.Platform.Widgets.Components.Widget.Instance().resetWidget(' + widgetData.WidgetId + ')');
  5134. let bottombar = '10px solid ' + csspropertyJSON[0].BorderColor;
  5135. jQuery("#ddlWidgetType").val(widgetData.WidgetTypeId).trigger('change');
  5136. jQuery("#ddlWidgetLayout").val(widgetData.WidgetLayoutId);
  5137. Widget.Instance().bindWidgetDesigns(widgetData.WidgetDesignId, widgetData.WidgetLayoutId);
  5138. Unibase.Platform.Widgets.Managers.WidgetManager.Instance().getAppWidgetProviderById(widgetData.WidgetId).then(function (appresponse) {
  5139. if (appresponse.result != null)
  5140. Widget.Instance().InstalledAppInfo(appresponse.result, appId);
  5141. });
  5142. jQuery("#ddlWidth").val(widgetData.Width).trigger('change');
  5143. $('#chkIsMandatory').prop("checked", widgetData.IsMandatory);
  5144. if (widgetData.Highlighter != null) {
  5145. var ColorCodeVal = $("#ddlColorCode").find("option:contains('" + widgetData.Highlighter + "')").val();
  5146. $("#ddlColorCode").append('<option value="' + ColorCodeVal + '">' + widgetData.Highlighter + '</option>');
  5147. }
  5148. jQuery("#ddlWidgetFormat").val(widgetData.WidgetFormatId).trigger('change');
  5149. if (widgetData.IconName != null) {
  5150. var IconNameSubStr = widgetData.IconName.substring(6);
  5151. var iconVal = $("#ddlIcon").find("option:contains('" + IconNameSubStr + "')").val();
  5152. $("#ddlIcon").val(iconVal).trigger('change.select2');
  5153. }
  5154. if (widgetData.Parameter != "" && widgetData.Parameter != null) {
  5155. $('#ulparamers').empty();
  5156. $('#bindParameterList').empty();
  5157. let parameterHeader = '<li class="bindParamterRow"> <div class="row font-14 box-shadow row-item ui-sortable-handle"> <div class="col-md-1 col-1 hidden border p-2 text-center"> <span class="text-dark font-weight-500">Index</span> </div><div class="col-md-12 col-12"> <div class="parameterrowheading font-14 row text-center font-weight-500"> <div class="col-sm-5 col-5 p-2 border"> Parameter Name</div><div class="col-sm-2 col-2 p-2 border"> Operator</div><div class="col-sm-5 col-5 p-2 border"> <span id="row3">Value</span> </div></div></div></div></li>';
  5158. $('#ulparamers').append(parameterHeader);
  5159. var parameterArray = [], parameterArraySplit = [];
  5160. parameterArray = widgetData.Parameter.split('|');
  5161. for (var t = 1; t <= parameterArray.length; t++) {
  5162. parameterArraySplit = parameterArray[t - 1].split(':');
  5163. $('#ulparamers').append('<li class="bindParamterRow row-item-li" id="rowId_' + t + '"> <div class="row font-14 box-shadow row-item ui-sortable-handle"> <div class="col-md-1 hidden col-1 border p-2 text-center"> <span id="row5" class="text-dark rowNum">' + t + '</span> </div><div class="col-md-12 col-12"> <div class="parameterrowheading font-14 row text-center"> <input type="hidden" id="row0" value="0"> <div class="col-sm-5 col-5 p-2 border"> <label id="row1">' + parameterArraySplit[0] + '</label></div><div class="col-sm-2 col-2 p-2 border"> <label id="row2">' + parameterArraySplit[1] + '</label></div><div class="col-sm-5 col-5 p-2 border d-flex flex-row"> <span id="row3">' + parameterArraySplit[2] + '</span> <span id="delete_row" class="btn fa fa-times ml-auto fa-lg text-danger" onclick="Unibase.Platform.Widgets.Components.Widget.Instance().deleteParameterRow(this)"></span> </div><input type="hidden" id="row4" value=' + parameterArraySplit[4] + '> <input type="hidden" id="row6" value=' + parameterArraySplit[3] + '> </div></div></div></li>');
  5164. $('#bindParameterList').append('<li class="d-flex flex-column bg-light my-3 p-2 rounded-2 rowId_' + t + '" data-rowId="rowId_' + t + '"> <div class="d-flex flex-row text-dark"> <span class="border-bottom border-dashed border-dark p-1">' + parameterArraySplit[0] + '</span> <a href="javascript:void(0);" class=" my-auto ml-auto px-2" onclick="Unibase.Platform.Widgets.Components.Widget.Instance().deleteParameterRow(this);" > <i class="fa p-1 fa-trash text-danger"></i> </a> </div></li>');
  5165. }
  5166. }
  5167. let layoutName = "user";
  5168. if (widgetData.WidgetLayoutId == 0)
  5169. layoutName = "user";
  5170. else
  5171. layoutName = widgetData.WidgetLayoutName;
  5172. var lowercase = layoutName.toLowerCase();
  5173. $("#userDefinedDiv, #DetailDiv, #KPIDiv, #ListDiv").addClass("hidden");
  5174. if (RegExp("user").test(lowercase)) {
  5175. $("#txt_WidgetUrlFile").val(widgetData.WidgetUrl);
  5176. $('#option-back').removeClass('hidden');
  5177. $('.ReportDiv').addClass('hidden').find('#ddlReport').removeClass('required');
  5178. $('#bldrHeaderNavTabs .nav-link[href!="tab_preview"]').addClass('hidden');
  5179. $('#Preview-Designs').removeClass('hidden');
  5180. $('.userDesignedURL').removeClass('hidden');
  5181. $('#ddlheight').removeClass('required');
  5182. $("#frmUnibase_widgetBuilderAppearance").find(".card-header").addClass("d-none").removeClass("d-flex");
  5183. $('#editFontSection').addClass("d-none").removeClass("d-flex");
  5184. if (appId == 0) {
  5185. $('#ddlwidthOnEdit').children().addClass('d-none');
  5186. $('#ddlwidthOnEdit').addClass("d-none").removeClass("d-flex flex-column");
  5187. }
  5188. if (appId != 0) {
  5189. $('#kpiheight').children().addClass('d-none');
  5190. }
  5191. $('#ddlWidgetDesign').removeClass('required');
  5192. let widgeturl = [];
  5193. widgeturl = widgetData.WidgetUrl.toString().split(',');
  5194. var viewerComponent = widgeturl[1] + ".init('designsPreviewAppend');";
  5195. var EditMode = instance.defautSettings.filter(function (o) { return o.widgetdesignid === 20210628; });
  5196. EditMode[0].mode = 'Create_Mode';
  5197. instance.fileCacheHelper.loadJsFile(widgeturl[0], function () {
  5198. eval(viewerComponent);
  5199. });
  5200. }
  5201. if (RegExp("detail").test(lowercase)) {
  5202. $("#DetailDiv").removeClass("hidden");
  5203. $('#ddlheight').removeClass('required');
  5204. if (appId == 0) {
  5205. $('#ddlwidthOnEdit').children().addClass('d-none');
  5206. $('#ddlwidthOnEdit').addClass("d-none").removeClass("d-flex flex-column");
  5207. }
  5208. if (appId != 0) {
  5209. $('#kpiheight').children().addClass('d-none');
  5210. }
  5211. Unibase.Platform.Widgets.Managers.WidgetManager.Instance().getDetailWidget(widgetData.WidgetId).then(function (detailresponse) {
  5212. var detailsData = detailresponse.result;
  5213. var detailcssProperty = JSON.parse(detailresponse.result.CssProperty);
  5214. $("#ddlColumns").empty();
  5215. $('.sortable').empty();
  5216. if (detailsData.ReportId != 0)
  5217. $("#ddlReport").append('<option value="' + detailsData.ReportId + '">' + detailsData.ReportName + '</option>');
  5218. jQuery("#ddlReport").val(detailsData.ReportId).trigger('change');
  5219. $.when(Unibase.Platform.Analytics.Managers.ReportManager.Instance().getColumns(detailsData.ReportId)).done(function (columns) {
  5220. if (columns.result != null) {
  5221. let html = "<option value=''>Select Column</option>";
  5222. for (let i = 0; i < columns.result.length; i++) {
  5223. var reportcolumn = columns.result[i];
  5224. var template = Unibase.Widgets.Widget_Template.Instance().loadReportColumnDropdownTemplate();
  5225. var templateScript = Handlebars.compile(template);
  5226. var context = { "ReportColumnId": reportcolumn.ReportColumnId, "ReportColumnName": reportcolumn.ReportColumnName };
  5227. html += templateScript(context);
  5228. }
  5229. $("#ddlColumns").html(html);
  5230. }
  5231. });
  5232. $("#txt_DetaillinkURL").val(detailsData.LinkUrl);
  5233. if (detailsData.Icon != null) {
  5234. var detailsDataIconSubStr = detailsData.Icon.substring(6);
  5235. var detailIconVal = $("#ddlDetailIcon").find("option:contains('" + detailsDataIconSubStr + "')").val();
  5236. $("#ddlDetailIcon").val(detailIconVal).trigger('change.select2');
  5237. }
  5238. for (var j = 0; j < detailsData.DetailsWidgetProperties.length; j++) {
  5239. if (detailsData.DetailsWidgetProperties[j].ConverterType == 1) {
  5240. var conv = "Round Number";
  5241. }
  5242. else if (detailsData.DetailsWidgetProperties[j].ConverterType == 2) {
  5243. var conv = "Local Date";
  5244. }
  5245. else {
  5246. var conv = "None";
  5247. }
  5248. var value = detailsData.DetailsWidgetProperties[j].Value.match("{{(.*)}}");
  5249. $('.sortable').append('<li class="list-group-item border-0 column-item ui-sortable-handle bg-light my-2 p-2 d-flex justify-content-between" id="columnId_' + (j + 1) + '"> <span class="font-15 d-flex align-items-center text-dark "> <i class="fa fa-sort mr-2"></i> ' + detailsData.DetailsWidgetProperties[j].Label + '</span> <span class="pull-left media-xs mr-30 hidden"> <i class="fa fa-sort text-muted fa mr-10"></i> <span id="row5" class="text-dark rowNum">' + (j + 1) + '</span> </span><div class="d-flex flex-row"> <span id="edit_row " class="px-2 my-auto fa fa-pencil text-dark" onclick="Unibase.Platform.Widgets.Components.Widget.Instance().EditReportColumnRow(this)"></span> <span id="delete_row" class="px-2 my-auto fa fa-times fa-lg text-danger border-left border-2 text dark" onclick="Unibase.Platform.Widgets.Components.Widget.Instance().deleteReportColumnRow(this)"></span></div><div class="clear hidden"><div class="stageheading"> <input type="hidden" id="row0" value="' + detailsData.DetailsWidgetProperties[j].DetailsWidgetPropertyId + '" /> <input type="hidden" id="ConverterType" value="' + detailsData.DetailsWidgetProperties[j].ConverterType + '" /> <input type="hidden" id="row6" value="' + detailsData.DetailsWidgetProperties[j].ConverterValue + '"> <label class="col-sm-2" id="row1">' + value[1] + '</label> <label class="col-sm-2 mr-10" id="row2">' + conv + '</label> <label class="col-sm-3" id="row3">' + detailsData.DetailsWidgetProperties[j].Label + '</label> <label class="col-sm-2" id="row4">' + detailsData.DetailsWidgetProperties[j].HyperLink + '</label><div></div></li>');
  5250. }
  5251. array.push({ "WidgetName": $('#txt_WidgetName').val(), "PortletWidgetId": 2250 });
  5252. var viewertype = instance.defautSettings.filter(function (o) { return o.WidgetDesignName === instance.widgetDesignNameRes; });
  5253. var classname = JSON.parse(viewertype[0].defaultsettings).classname;
  5254. var viewerComponent = new Unibase.Themes.Compact.DetailWidgets[classname]();
  5255. if (instance.widgetDesignNameRes == 'Details_Custom') {
  5256. let customArray = [];
  5257. customArray.push({ "DetailContainerId": "", "InstalledAppId": 0, "PortletWidgetId": 2250, "ReportId": widgetData.ReportId, "StaticJsPath": widgetData.StaticJsPath, "WidgetId": 0, "WidgetName": detailresponse.result.WidgetName, "WidgetParameters": widgetData.Parameter });
  5258. var htmlC = viewerComponent.html(customArray, 'containerId', null);
  5259. $('#designsPreviewAppend').html(htmlC);
  5260. viewerComponent.loadData(customArray, 'containerId', null);
  5261. }
  5262. else {
  5263. var html = viewerComponent.html(array, 0);
  5264. $('#designsPreviewAppend').html(html);
  5265. viewerComponent.loadResponseData(2250, "designsPreviewAppend", parameters, PortletWidgetId);
  5266. }
  5267. $(`${"li.KPIDesigns"}[data-designs="${instance.widgetDesignNameRes}"]`).append('<div class="d-flex justify-content-end"><span class="bg-success rounded-circle p-1 position-absolute mr-2" style="margin-top:-40px;"><i class="la la-check font-24 text-white"></i></span></div>');
  5268. $('#layoutDetails').append('<span class="bg-success mt-180 rounded-circle p-1 position-absolute"><i class="la la-check font-24 text-white"></i></span>');
  5269. var EditMode = instance.defautSettings.filter(function (o) { return o.widgetdesignid === 20210628; });
  5270. EditMode[0].mode = 'Create_Mode';
  5271. });
  5272. }
  5273. if (RegExp("kpi").test(lowercase)) {
  5274. $("#KPIDiv").removeClass("hidden");
  5275. if (appId == 0) {
  5276. $('#ddlwidthOnEdit').children().addClass('d-none');
  5277. $('#ddlwidthOnEdit').addClass("d-none").removeClass("d-flex flex-column");
  5278. }
  5279. $('.font-Family-section').addClass('d-none').removeClass("d-flex flex-column");
  5280. Unibase.Platform.Widgets.Managers.WidgetManager.Instance().getKPIWidget(widgetData.WidgetId).then(function (kpiresponse) {
  5281. var kpiData = kpiresponse.result;
  5282. var SelectedColumnArray = [], SelectedColumnLabelArray = [];
  5283. SelectedColumnArray = kpiData.Selected_Columns.split(',');
  5284. if (kpiData.Selected_Columns_Labels == null || kpiData.Selected_Columns_Labels == undefined) {
  5285. let columnlabel = ['Label-1', 'Label-2', 'Label-3'];
  5286. SelectedColumnLabelArray.push(columnlabel);
  5287. }
  5288. else {
  5289. SelectedColumnLabelArray = kpiData.Selected_Columns_Labels.split(',');
  5290. }
  5291. if (kpiData.KpiSetting != '' && kpiData.KpiSetting != '' && kpiData.KpiSetting != undefined) {
  5292. let dataType = [], isRoundOff = [], j = 1;
  5293. dataType = JSON.parse(kpiData.KpiSetting)[0].DataType.split(',');
  5294. isRoundOff = JSON.parse(kpiData.KpiSetting)[0].IsRoundOff.split(',');
  5295. for (let k = 0; k < isRoundOff.length; k++) {
  5296. if (dataType[k] != '' && dataType[k] != null && dataType[k] != undefined) {
  5297. $('#kpidataType_' + (k + j)).val(dataType[k]);
  5298. }
  5299. if (isRoundOff[k] != '' && isRoundOff[k] != null && isRoundOff[k] != undefined && isRoundOff[k] == 'true') {
  5300. $('#kpi_isroundoff_' + (k + j) + '[type="checkbox"]').attr('checked', 'true');
  5301. }
  5302. }
  5303. }
  5304. $("#txt_KPIlinkURL").val(kpiData.LinkUrl);
  5305. if (kpiData.Color != null && kpiData.Color != "") {
  5306. var ColorCodeVal = $("#ddlKPIColor").find("option:contains('" + kpiData.Color + "')").val();
  5307. $("#ddlKPIColor").append('<option value="' + ColorCodeVal + '">' + kpiData.Color + '</option>');
  5308. }
  5309. if (kpiData.Icon != null && kpiData.Icon != "") {
  5310. $("#hf_KPIIconPath").val(kpiData.Icon);
  5311. var data = new Unibase.Platform.Helpers.File();
  5312. instance.ImageData = { 'FileName': kpiData.FileName, 'FileType': kpiData.FileType, 'FileData': kpiData.FileData, 'FilePath': kpiData.Icon };
  5313. $("#txt_KPIImageFile").css({ "color": "transparent", "height": "40px", "width": "100px" });
  5314. $("#lblKPIImage2").removeClass("hidden");
  5315. $("#div_WidgetKPIImageFile").addClass("floating-label-form-group-with-value");
  5316. var kpiUrl = kpiData.Icon.split("/");
  5317. var kUrl = kpiUrl[kpiUrl.length - 1];
  5318. let html = '<span class="d-flex justify-content-between"><span>' + kUrl + '</span><a href="javascript:;" class="ml-2 delete-icon-kpi text-danger"><i class="las la-times"></i></a></span>';
  5319. $("#lblKPIImage2").html(html);
  5320. $('.delete-icon-kpi').on('click', function () {
  5321. $(this).parent().addClass('invisible');
  5322. Unibase.Platform.Widgets.Components.Widget.Instance().ImageData = undefined;
  5323. });
  5324. }
  5325. if (PortletWidgetHeight == undefined || PortletWidgetHeight == 0) {
  5326. PortletWidgetHeight = kpiData.KpiHeight;
  5327. $('#ddlheight').val(PortletWidgetHeight.replace(/px/g, ''));
  5328. }
  5329. else {
  5330. $('#ddlheight').val(PortletWidgetHeight);
  5331. }
  5332. if (kpiData.LinkReportId != 0 && kpiData.LinkReportId != null) {
  5333. $("#ddlLinkReportId").append('<option value="' + kpiData.LinkReportId + '">' + kpiData.LinkReportName + '</option>');
  5334. jQuery("#ddlLinkReportId").val(kpiData.LinkReportId);
  5335. }
  5336. if (kpiData.ReportId != 0) {
  5337. $("#ddlReport").append('<option value="' + kpiData.ReportId + '">' + kpiData.ReportName + '</option>');
  5338. jQuery("#ddlReport").val(kpiData.ReportId).trigger('change');
  5339. }
  5340. var selected_columns = kpiData.Selected_Columns;
  5341. if (selected_columns != null || selected_columns != "") {
  5342. var sp = selected_columns.split(',');
  5343. var value_1 = sp[0];
  5344. var value_2 = sp[1];
  5345. var value_3 = sp[2];
  5346. }
  5347. $.when(Unibase.Platform.Analytics.Managers.ReportManager.Instance().getColumns(kpiData.ReportId)).done(function (columns) {
  5348. if (columns.result != null) {
  5349. let html = "<option value=''>Select Column</option>";
  5350. for (let i = 0; i < columns.result.length; i++) {
  5351. var reportcolumn = columns.result[i];
  5352. var template = Unibase.Widgets.Widget_Template.Instance().loadReportColumnDropdownTemplate();
  5353. var templateScript = Handlebars.compile(template);
  5354. var context = { "ReportColumnId": reportcolumn.ReportColumnId, "ReportColumnName": reportcolumn.ReportColumnName };
  5355. html += templateScript(context);
  5356. }
  5357. $("#ddlColumns").html(html);
  5358. $("#ddlSelectedValue_1").html(html);
  5359. $("#ddlSelectedValue_2").html(html);
  5360. $("#ddlSelectedValue_3").html(html);
  5361. }
  5362. if ($("#ddlWidgetDesign option:selected").text() == "KPI_Default" || $("#ddlWidgetDesign option:selected").text() == "KPI_Icon" || $("#ddlWidgetDesign option:selected").text() == "KPI_KPISingleValueWithborder" || $("#ddlWidgetDesign option:selected").text() == "KPI_Left_Bar_color_Icon" || $('#ddlWidgetDesign option:selected').text() == "KPI_Icon_Bg_Color") {
  5363. $("#div_Value1").removeClass('hidden');
  5364. $("#div_Value2").addClass('hidden');
  5365. $("#div_Value3").addClass('hidden');
  5366. $("#ddlSelectedLabelValue_1").parent().addClass('hidden');
  5367. $("#ddlSelectedValue_1 option").removeAttr("selected");
  5368. $("#ddlSelectedValue_1").val($("#ddlSelectedValue_1 option[data-table=" + value_1 + "]").attr("value"));
  5369. }
  5370. else if ($("#ddlWidgetDesign option:selected").text() == "KPI_TwoValue" || $("#ddlWidgetDesign option:selected").text() == "KPI_KPISingleValueWithPercentage" || $("#ddlWidgetDesign option:selected").text() == "KPI_TwoValue_BottomBar_color" || $("#ddlWidgetDesign option:selected").text() == "KPI_TwoValue_BgColor" || $("#ddlWidgetDesign option:selected").text() == "KPI_TwoValue_LineCenter" || $("#ddlWidgetDesign option:selected").text() == "KPI_TwoValue_PieIcon" || $("#ddlWidgetDesign option:selected").text() == "KPI_KPISingleValueWithPercentage_ProgressBar" || $("#ddlWidgetDesign option:selected").text() == "KPI_KPISingleValueWithPercentage_BgColor" || $("#ddlWidgetDesign option:selected").text() == "KPI_KPISingleValueWithPie_Icon") {
  5371. $("#div_Value1").removeClass('hidden');
  5372. $("#div_Value2").removeClass('hidden');
  5373. $("#div_Value3").addClass('hidden');
  5374. if ($("#ddlWidgetDesign option:selected").text() == "KPI_TwoValue_BgColor") {
  5375. $("#ddlSelectedLabelValue_2").parent().addClass('hidden');
  5376. }
  5377. if ($("#ddlWidgetDesign option:selected").text() == "KPI_TwoValue_BottomBar_color") {
  5378. $("#ddlSelectedLabelValue_2").parent().addClass('hidden');
  5379. }
  5380. if ($("#ddlWidgetDesign option:selected").text() == "KPI_KPISingleValueWithPercentage_ProgressBar" || $("#ddlWidgetDesign option:selected").text() == "KPI_KPISingleValueWithPercentage_BgColor") {
  5381. $("#ddlSelectedLabelValue_1").parent().addClass('hidden');
  5382. $("#ddlSelectedLabelValue_2").parent().addClass('hidden');
  5383. }
  5384. $("#ddlSelectedValue_1 option").removeAttr("selected");
  5385. $("#ddlSelectedValue_1").val($("#ddlSelectedValue_1 option[data-table=" + value_1 + "]").attr("value"));
  5386. $("#ddlSelectedValue_2 option").removeAttr("selected");
  5387. $("#ddlSelectedValue_2").val($("#ddlSelectedValue_2 option[data-table=" + value_2 + "]").attr("value"));
  5388. }
  5389. else if (($("#ddlWidgetDesign option:selected").text() == "KPI_Comparison") || ($("#ddlWidgetDesign option:selected").text() == "KPI_ComparisonRightBar_color") || ($("#ddlWidgetDesign option:selected").text() == "KPI_ComparisonBottomBar_Color") || $("#ddlWidgetDesign option:selected").text() == "Kpi_fulfillment") {
  5390. $("#div_Value1").removeClass('hidden');
  5391. $("#div_Value2").removeClass('hidden');
  5392. $("#div_Value3").removeClass('hidden');
  5393. if ($("#ddlWidgetDesign option:selected").text() == "Kpi_fulfillment") {
  5394. $("#ddlSelectedLabelValue_1").parent().removeClass('hidden');
  5395. $("#ddlSelectedLabelValue_2").parent().removeClass('hidden');
  5396. $("#ddlSelectedLabelValue_3").parent().removeClass('hidden');
  5397. }
  5398. else {
  5399. $("#ddlSelectedLabelValue_2").parent().addClass('hidden');
  5400. $("#ddlSelectedLabelValue_3").parent().addClass('hidden');
  5401. }
  5402. $("#ddlSelectedValue_1 option").removeAttr("selected");
  5403. $("#ddlSelectedValue_1").val($("#ddlSelectedValue_1 option[data-table=" + value_1 + "]").attr("value"));
  5404. $("#ddlSelectedValue_2 option").removeAttr("selected");
  5405. $("#ddlSelectedValue_2").val($("#ddlSelectedValue_2 option[data-table=" + value_2 + "]").attr("value"));
  5406. $("#ddlSelectedValue_3 option").removeAttr("selected");
  5407. $("#ddlSelectedValue_3").val($("#ddlSelectedValue_3 option[data-table=" + value_3 + "]").attr("value"));
  5408. }
  5409. else {
  5410. $("#div_Value1").addClass('hidden');
  5411. $("#div_Value2").addClass('hidden');
  5412. $("#div_Value3").addClass('hidden');
  5413. $("#ddlSelectedLabelValue_1").parent().addClass('hidden');
  5414. $("#ddlSelectedLabelValue_2").parent().addClass('hidden');
  5415. $("#ddlSelectedLabelValue_3").parent().addClass('hidden');
  5416. }
  5417. $('#ddlSelectedLabelValue_1').val(SelectedColumnLabelArray[0]);
  5418. $('#ddlSelectedLabelValue_2').val(SelectedColumnLabelArray[1]);
  5419. $('#ddlSelectedLabelValue_3').val(SelectedColumnLabelArray[2]);
  5420. });
  5421. var array = [], previewResponse, result;
  5422. var parameters = {
  5423. WidgetId: widgetData.WidgetId,
  5424. PortletWidgetId: 2250,
  5425. InstalledAppId: 0,
  5426. InputParameters: [],
  5427. FromDate: Unibase.Platform.Helpers.NavigationHelper.commonFilter_FromDate,
  5428. ToDate: Unibase.Platform.Helpers.NavigationHelper.commonFilter_ToDate
  5429. };
  5430. array.push({ "WidgetName": $('#txt_WidgetName').val(), "PortletWidgetId": 2250 });
  5431. var viewertype = instance.defautSettings.filter(function (o) { return o.WidgetDesignName === instance.widgetDesignNameRes; });
  5432. var classname = JSON.parse(viewertype[0].defaultsettings).classname;
  5433. var viewerComponent = new Unibase.Themes.Compact.KpiWidgets[classname]();
  5434. var html = viewerComponent.html(array, 0);
  5435. $('#designsPreviewAppend').html(html);
  5436. viewerComponent.loadResponseData(2250, "designsPreviewAppend", parameters, PortletWidgetId);
  5437. Unibase.Platform.Widgets.Components._Widget.Instance().KpiCode();
  5438. $(`${"li.KPIDesigns"}[data-designs="${instance.widgetDesignNameRes}"]`).append('<div class="d-flex justify-content-end"><span class="bg-success rounded-circle p-1 position-absolute mr-2" style="margin-top:-40px;"><i class="la la-check font-24 text-white"></i></span></div>');
  5439. $('#layoutKPI').append('<span class="bg-success mt-180 rounded-circle p-1 position-absolute"><i class="la la-check font-24 text-white"></i></span>');
  5440. var EditMode = instance.defautSettings.filter(function (o) { return o.widgetdesignid === 20210628; });
  5441. EditMode[0].mode = 'Create_Mode';
  5442. });
  5443. }
  5444. if (RegExp("report").test(lowercase)) {
  5445. if (appId == 0) {
  5446. $('#ddlwidthOnEdit').children().addClass('d-none');
  5447. $('#ddlwidthOnEdit').addClass("d-none").removeClass("d-flex flex-column");
  5448. $("#frmUnibase_widgetBuilderAppearance").find(".card-header").addClass("d-none").removeClass("d-flex");
  5449. $('#editFontSection').addClass("d-none").removeClass("d-flex");
  5450. $('#kpiheight').removeClass('hidden');
  5451. }
  5452. if (appId != 0) {
  5453. $('#kpiheight').children().addClass('d-none');
  5454. }
  5455. $("#frmUnibase_widgetBuilderAppearance").find(".card-header").addClass("d-none").removeClass("d-flex");
  5456. $('#editFontSection').addClass("d-none").removeClass("d-flex");
  5457. $("#ddlReport").append('<option value="' + widgetData.ReportId + '">' + widgetData.ReportName + '</option>');
  5458. jQuery("#ddlReport").val(widgetData.ReportId).trigger('change');
  5459. $(`${"li.KPIDesigns"}[data-designs="${instance.widgetDesignNameRes}"]`).append('<div class="d-flex justify-content-end"><span class="bg-green-dark-2 mr-2 p-1 position-absolute rounded-circle" style="margin-top: -74px;"><i class="la la-check font-24 text-white"></i></span></div>');
  5460. $('#layoutChartReport').append('<span class="bg-success mt-180 rounded-circle p-1 position-absolute"><i class="la la-check font-24 text-white"></i></span>');
  5461. var obj = Unibase.Platform.Analytics.Components.ReportViewer.Instance();
  5462. setTimeout(function () {
  5463. instance.navigationHelper.popin(Number(widgetData.ReportId), 'designsPreviewAppend', obj, null);
  5464. }, 200);
  5465. }
  5466. if (RegExp("detail").test(lowercase) || RegExp("kpi").test(lowercase) || RegExp("report").test(lowercase)) {
  5467. var roleStng = "";
  5468. var AppConfigData;
  5469. Unibase.Platform.Widgets.Managers.WidgetManager.Instance().getAppConfigurationsByWidgetId(widgetData.WidgetId, appId).then(function (appconfigresponse) {
  5470. AppConfigData = appconfigresponse.result;
  5471. $('.configsortable').empty();
  5472. for (var i = 0; i < AppConfigData.length; i++) {
  5473. $("#AppConfigurationDiv").removeClass("hidden");
  5474. let len = Widget.Instance().addAppConfiguration(appId);
  5475. $("#hf_AppConfigurationUniqueId_" + len + "").val(AppConfigData[i].UniqueId);
  5476. $("#hf_AppConfigurationId_" + len + "").val(AppConfigData[i].AppConfigurationId);
  5477. $("#txt_SettingName_" + len + "").val(AppConfigData[i].SettingName);
  5478. $("#txt_SettingURL_" + len + "").val(AppConfigData[i].SettingUrl);
  5479. var permissionoption = new Option(Unibase.Platform.Permissions.Enums.PermissionLevel[AppConfigData[i].Permission], AppConfigData[i].Permission.toString(), true);
  5480. $("#ddlPermission_" + len + "").append(permissionoption);
  5481. $("#ddlPermission_" + len + "").val(AppConfigData[i].Permission.toString()).trigger('change.select2');
  5482. var appconfigoption = new Option(Unibase.Platform.Apps.Enums.AppConfigeType[AppConfigData[i].AppConfigType], AppConfigData[i].AppConfigType.toString(), true);
  5483. $("#ddlAppConfigType_" + len + "").append(appconfigoption);
  5484. $("#ddlAppConfigType_" + len + "").val(AppConfigData[i].AppConfigType.toString()).trigger('change');
  5485. if (AppConfigData[i].Icon != null) {
  5486. $("#ddlAppConfigIcon_" + len + "").append('<option value="' + AppConfigData[i].Icon + '">' + AppConfigData[i].Icon + '</option>');
  5487. $("#ddlAppConfigIcon_" + len + "").val(AppConfigData[i].Icon).trigger('change.select2');
  5488. }
  5489. var settingurloption = new Option(Unibase.Platform.Apps.Enums.SettingUrlType[AppConfigData[i].SettingUrlType], AppConfigData[i].SettingUrlType.toString(), true);
  5490. if (AppConfigData[i].LinkDashboardId != 0) {
  5491. var dashboardoption = new Option(AppConfigData[i].DashboardName, AppConfigData[i].LinkDashboardId.toString(), true);
  5492. $("#ddlDashboard_" + len + "").append(dashboardoption);
  5493. }
  5494. if (AppConfigData[i].LinkDashboardGroupId != 0) {
  5495. var dashboardgroupoption = new Option(AppConfigData[i].DashboardGroupName, AppConfigData[i].LinkDashboardGroupId.toString(), true);
  5496. $("#ddlDashboardGroup_" + len + "").append(dashboardgroupoption);
  5497. }
  5498. $("#ddlSettingUrlType_" + len + "").append(settingurloption);
  5499. $("#ddlSettingUrlType_" + len + "").trigger('change');
  5500. $('#ddlFormSize_' + len + ' option:nth(' + AppConfigData[i].FormSize + ')').prop("selected", "selected");
  5501. $("#chkIsDefault_" + len + "").prop("checked", AppConfigData[i].IsDefault);
  5502. $("#chkUngrouped_" + len + "").prop("checked", AppConfigData[i].Ungrouped);
  5503. $("#chkExcludeFromLock_" + len + "").prop("checked", AppConfigData[i].ExcludeFromLock);
  5504. $("#summernote_JsFunction_" + len + "").val(HtmlHelper.getHelper().decode(AppConfigData[i].JsFunction));
  5505. $("#Index_" + len + "").text(AppConfigData[i].PropertyIndex);
  5506. if (AppConfigData[i].LinkWidgetId != 0 && AppConfigData[i].LinkWidgetId != null) {
  5507. Unibase.Platform.Widgets.Managers.WidgetManager.Instance().getWidget(AppConfigData[i].LinkWidgetId).then(function (res) {
  5508. $('#hfWidgetsAutoComplete_' + len).val(res.result.WidgetId);
  5509. $('#ddlWidgets_' + len).append('<option value="' + res.result.WidgetId + '">' + res.result.WidgetName + '</option>')
  5510. .val(AppConfigData[i].LinkWidgetId).trigger('change');
  5511. });
  5512. }
  5513. var AppConfigType = $("#ddlAppConfigType_" + len + " option:selected").text();
  5514. instance.fileCacheHelper.loadJsFile("platform/forms/managers/formmanager.js", function () {
  5515. Unibase.Platform.Forms.Managers.FormManager.Instance().getFormRoles(AppConfigData[i].AppConfigurationId).then(function (formresponse) {
  5516. if (formresponse.result.length > 0) {
  5517. for (var i = 0; i < formresponse.result.length; i++) {
  5518. var res = formresponse.result[i];
  5519. $("#autocomplete_Form_" + len + "").append('<option value="' + formresponse.result[i].FormId + '">' + formresponse.result[i].FormName + '</option>');
  5520. $("#autocomplete_role_" + len + "").append('<option value="' + formresponse.result[i].RoleId + '">' + res.RoleName + '</option>');
  5521. $("#autocomplete_Form_" + len + "").val(formresponse.result[i].FormId).trigger('change');
  5522. $("#autocomplete_role_" + len + "").val(formresponse.result[i].RoleId).trigger('change');
  5523. var formid = Number($("#autocomplete_Form_" + len + "").val());
  5524. var roleid = Number($("#autocomplete_role_" + len + "").val());
  5525. var formname = $("#autocomplete_Form_" + len + " option:selected").text();
  5526. var rolename = $("#autocomplete_role_" + len + " option:selected").text();
  5527. var lihtml = Unibase.Platform.Widgets.Components.Widget.Instance().
  5528. loadrolesdata(formid, formname, roleid, rolename, 0, len, formresponse.result[i].FormRoleId);
  5529. $(".div_formrole_" + len + "").append(lihtml);
  5530. Unibase.Platform.Widgets.Components.Widget.Instance().javaScript(formid, roleid, len, formresponse.result[i].JsText);
  5531. $('#appconfiguration_javascript_' + formid + '_' + roleid + '_' + len + '').summernote('code', formresponse.result[i].JsText);
  5532. }
  5533. }
  5534. });
  5535. });
  5536. var FormName = $("#ddlFormUniqueKey_" + len + " option:selected").text();
  5537. Unibase.Platform.Apps.Managers.AppManager.Instance().getInstallApp(AppConfigData[i].InstalledAppId).then(function (installedresponse) {
  5538. $("#ddlFormInstallAppId_" + len + "").append('<option value="' + installedresponse.result.InstalledAppId + '">' + installedresponse.result.AppTitle + '</option>');
  5539. $("#ddlFormInstallAppId_" + len + "").val(installedresponse.result.InstalledAppId);
  5540. });
  5541. instance.fileCacheHelper.loadJsFile("platform/apps/managers/appmanager.js", function () {
  5542. Unibase.Platform.Apps.Managers.AppManager.Instance().getAppPermission(AppConfigData[i].AppPermissionId).then(function (permissionresponse) {
  5543. if (permissionresponse.result != null)
  5544. $("#txt_RoleSetting_" + len + "").append('<option value="' + permissionresponse.result.AppPermissionId + '">' + permissionresponse.result.SettingName + '</option>');
  5545. });
  5546. });
  5547. $("#txt_SettingDesignhtml_" + len).val(HtmlHelper.getHelper().decode(AppConfigData[i].SettingDesignHtml));
  5548. $("#txt_DynamicJs_" + len).val(HtmlHelper.getHelper().decode(AppConfigData[i].DynamicJs));
  5549. $(".AppConfig_" + len + "").find(".roleSettingDiv").find("#hfRoleSettingValue_" + len + "").val(AppConfigData[i].RoleSetting);
  5550. $('.configsortable').append('<li class="list-group-item box-shadow column-configitem ui-sortable-handle" id="AppConfigId_' + len + '"><span class="pull-left media-xs mr-30"><i class="fa fa-sort text-muted fa mr-10"></i><span id="Index_' + len + '" class="text-dark rowNum">' + len + '</span></span><div class="clear"><div class="stageheading"><input type="hidden" id="row0" value="0" /> <label class="col-sm-4" id="row1">' + AppConfigData[i].SettingName + '</label><label class="col-sm-3" id="row2">' + AppConfigType + '</label><label class="col-sm-3" id="row3">' + FormName + '</label><span class="col-sm-1"><span id="delete_AppConfigrow" class="btn fa fa-times fa-lg text-danger"></span></span></li>');
  5551. $('#AppConfigNames').append('<li class="d-flex flex-column bg-light my-3 p-2 rounded-2 liclassId" id="li_' + len + '"> <div class="d-flex flex-row text-dark biz-adj-drawer-wrap w-100"> <span class="border-bottom border-dashed border-dark w-70 text-truncate p-1">' + AppConfigData[i].SettingName + '</span> <a href="javascript:void(0);" data-target="adj_drawer_configuration" data-clickevent="parameter" class="ml-auto my-auto px-2 EditAppConfiguration" data-lengthedit="3" id="edit_icon_3" onclick="Unibase.Platform.Widgets.Components.Widget.Instance().EditAppConfiguration(' + appId + ',' + len + ');"> <i class="fa p-1 fa-edit text-dark"></i> </a> <a href="javascript:void(0);" class=" my-auto border-left px-2 DeleteAppConfiguration" onclick="Unibase.Platform.Widgets.Components.Widget.Instance().DeleteAppConfiguration(' + appId + ',' + len + ');"> <i class="fa p-1 fa-trash text-danger"></i> </a> </div></li>');
  5552. }
  5553. });
  5554. }
  5555. if (instance.backOption == 'Mode-2') {
  5556. var EditMode = instance.defautSettings.filter(function (o) { return o.widgetdesignid === 20210628; });
  5557. EditMode[0].mode = 'Create_Mode';
  5558. $('#layout-tab').addClass('hidden');
  5559. $('#kpi-design-tab').addClass('hidden');
  5560. $('#Preview-Designs').removeClass('hidden').click();
  5561. $('#option-back').removeClass('hidden');
  5562. }
  5563. }
  5564. InstalledAppInfo(appProviders, InstalledAppId) {
  5565. let selectedAppProviders = [];
  5566. let appIds = [];
  5567. let ids = [];
  5568. if (selectedAppProviders.length > 0) {
  5569. for (var i = 0; i < selectedAppProviders.length; i++) {
  5570. appIds.push(selectedAppProviders[i].id);
  5571. }
  5572. }
  5573. if (appProviders != null && appProviders != "") {
  5574. if (appProviders.length > 0) {
  5575. for (var i = 0; i < appProviders.length; i++) {
  5576. appIds.push({ text: appProviders[i].AppTitle, id: appProviders[i].InstalledAppId });
  5577. ids.push(appProviders[i].InstalledAppId);
  5578. }
  5579. }
  5580. selectedAppProviders = appIds;
  5581. }
  5582. var userinfo = Unibase.Platform.Membership.Infos.Identity.getCurrentUser();
  5583. let url = _appsettings.server_url() + "/apis/v4/unibase/platform/apps/installedappautocomplete/";
  5584. $("#ddlAppProviders").select2({
  5585. placeholder: "Select ",
  5586. data: selectedAppProviders,
  5587. tags: true,
  5588. multiple: true,
  5589. ajax: {
  5590. url: function (request) {
  5591. var reqUrl = url;
  5592. var term = request.term;
  5593. if (term == undefined || term == "")
  5594. reqUrl = reqUrl + "term/" + term + "/authtoken/" + userinfo.sessionId;
  5595. else
  5596. reqUrl = reqUrl + "term/" + term + "/authtoken/" + userinfo.sessionId;
  5597. return reqUrl;
  5598. },
  5599. dataType: 'json',
  5600. delay: 250,
  5601. data: function (params) {
  5602. var query = {
  5603. term: params.term,
  5604. type: 'GET'
  5605. };
  5606. return query;
  5607. },
  5608. beforeSend: function (xhr) {
  5609. if (userinfo !== undefined && userinfo !== null) {
  5610. xhr.setRequestHeader("Authorization", "Basic " + userinfo.sessionId);
  5611. xhr.setRequestHeader('geoposition', userinfo.latd + ':' + userinfo.lgId);
  5612. }
  5613. },
  5614. processResults: function (data, params) {
  5615. return {
  5616. results: jQuery.map(JSON.parse(data.result), function (item) {
  5617. return {
  5618. id: item.Value,
  5619. text: item.SelectText,
  5620. addlInfo: item.addlData
  5621. };
  5622. })
  5623. };
  5624. }
  5625. },
  5626. templateSelection: function (result) {
  5627. var $template = $('<span>' + result.text + '</span> <input type="hidden" id="hf_AutocompleteId" value="' + result.id + '">');
  5628. return $template;
  5629. }
  5630. });
  5631. jQuery("#ddlAppProviders").val(ids).trigger('change');
  5632. }
  5633. AppConfig_InstalledAppInfo(appProviders, Id) {
  5634. let selectedAppProviders = [];
  5635. let appIds = [];
  5636. let ids = [];
  5637. if (selectedAppProviders.length > 0) {
  5638. for (var i = 0; i < selectedAppProviders.length; i++) {
  5639. appIds.push(selectedAppProviders[i].id);
  5640. }
  5641. }
  5642. if (appProviders != null && appProviders != "") {
  5643. if (appProviders.length > 0) {
  5644. for (var i = 0; i < appProviders.length; i++) {
  5645. appIds.push({ text: appProviders[i].AppTitle, id: appProviders[i].InstalledAppId });
  5646. ids.push(appProviders[i].InstalledAppId);
  5647. }
  5648. }
  5649. selectedAppProviders = appIds;
  5650. }
  5651. var userinfo = Unibase.Platform.Membership.Infos.Identity.getCurrentUser();
  5652. let url = _appsettings.server_url() + "/apis/v4/unibase/platform/apps/installedappautocomplete/";
  5653. $("#ddlFormInstallAppId_" + Id).select2({
  5654. placeholder: "Select ",
  5655. data: selectedAppProviders,
  5656. tags: false,
  5657. multiple: false,
  5658. ajax: {
  5659. url: function (request) {
  5660. var reqUrl = url;
  5661. var term = request.term;
  5662. if (term == undefined || term == "")
  5663. reqUrl = reqUrl + "term/" + term + "/authtoken/" + userinfo.sessionId;
  5664. else
  5665. reqUrl = reqUrl + "term/" + term + "/authtoken/" + userinfo.sessionId;
  5666. return reqUrl;
  5667. },
  5668. dataType: 'json',
  5669. delay: 250,
  5670. data: function (params) {
  5671. var query = {
  5672. term: params.term,
  5673. type: 'GET'
  5674. };
  5675. return query;
  5676. },
  5677. beforeSend: function (xhr) {
  5678. if (userinfo !== undefined && userinfo !== null) {
  5679. xhr.setRequestHeader("Authorization", "Basic " + userinfo.sessionId);
  5680. xhr.setRequestHeader('geoposition', userinfo.latd + ':' + userinfo.lgId);
  5681. }
  5682. },
  5683. processResults: function (data, params) {
  5684. return {
  5685. results: jQuery.map(JSON.parse(data.result), function (item) {
  5686. return {
  5687. id: item.Value,
  5688. text: item.SelectText,
  5689. addlInfo: item.addlData
  5690. };
  5691. })
  5692. };
  5693. }
  5694. },
  5695. templateSelection: function (result) {
  5696. var $template = $('<span>' + result.text + '</span> <input type="hidden" id="hfFormInstalledappAutocomplete_' + Id + '" value="' + result.id + '">');
  5697. return $template;
  5698. }
  5699. });
  5700. jQuery("#ddlFormInstallAppId_" + Id).val(ids).trigger('change');
  5701. }
  5702. exportWidgetByWidgetId(WidgetId) {
  5703. var instance = this;
  5704. Unibase.Platform.Helpers.NavigationHelper.Instance().showLoading();
  5705. Unibase.Platform.Widgets.Managers.WidgetManager.Instance().getWidget(WidgetId).then(function (widgetresponse) {
  5706. Unibase.Platform.Widgets.Managers.WidgetManager.Instance().exportWidgetByWidgetId(WidgetId).then(function (response) {
  5707. if (response.status == Unibase.Data.Status.Error) {
  5708. if (Unibase.Themes.Providers.DetailHelper.installedAppId != 0) {
  5709. $('#div_message').html(`<div id="Bizgaze-messageInfo" class="Bizgaze-messageInfo alert alert-danger m-1 mb-0 ml-auto position-absolute w"><strong>Error! </strong>${response.message}</div>`);
  5710. }
  5711. else {
  5712. $('#bizgaze_message').html(`<div id="Bizgaze-messageInfo" class="Bizgaze-messageInfo alert alert-danger m-1 mb-0 ml-auto position-absolute w" style="z-index: 1011;left: 240px; right: 0;"><strong>Error! </strong>${response.message}</div>`);
  5713. }
  5714. instance.navigationHelper.hideLoading();
  5715. $('.Bizgaze-messageInfo').on('click', function () {
  5716. $(this).remove();
  5717. });
  5718. }
  5719. else if (widgetresponse.result != null && widgetresponse.result != undefined && response.result != null && response.result != undefined) {
  5720. var filename = widgetresponse.result.WidgetName + " - Widget.xml";
  5721. var xmltext = response.result;
  5722. var pom = document.createElement('a');
  5723. var bb = new Blob([xmltext], { type: 'text/plain' });
  5724. pom.setAttribute('href', window.URL.createObjectURL(bb));
  5725. pom.setAttribute('download', filename);
  5726. pom.dataset.downloadurl = ['text/plain', pom.download, pom.href].join(':');
  5727. pom.draggable = true;
  5728. pom.classList.add('dragout');
  5729. pom.click();
  5730. }
  5731. Unibase.Platform.Helpers.NavigationHelper.Instance().hideLoading();
  5732. });
  5733. });
  5734. }
  5735. importWidget(containerid, fileInfo) {
  5736. var instance = this;
  5737. var url = _appsettings.server_url() + '/apis/v4/unibase/platform/Widgets/importwidget/np';
  5738. Platform.Helpers.FileHelper.Instance().upload(url, fileInfo).then(function (response) {
  5739. if (response.status == Unibase.Data.Status.Error) {
  5740. MessageHelper.Instance().showError(response.message, "div_importmessage");
  5741. }
  5742. else {
  5743. MessageHelper.Instance().showSuccess(response.message, "div_importmessage");
  5744. $('#' + containerid).modal('hide');
  5745. $('#' + containerid).remove();
  5746. }
  5747. Unibase.Platform.Helpers.NavigationHelper.Instance().hideLoading();
  5748. });
  5749. }
  5750. static Instance() {
  5751. if (this._instance === undefined)
  5752. this._instance = new Unibase.Platform.Widgets.Components.Widget();
  5753. return this._instance;
  5754. }
  5755. }
  5756. Widget.formroles = [];
  5757. Components.Widget = Widget;
  5758. })(Components = Widgets.Components || (Widgets.Components = {}));
  5759. })(Widgets = Platform.Widgets || (Platform.Widgets = {}));
  5760. })(Platform = Unibase.Platform || (Unibase.Platform = {}));
  5761. })(Unibase || (Unibase = {}));