Built files from Bizgaze WebServer
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

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 = {}));