widget – DijitalTurk https://dijitalturk.com/veysel Dijital Paylaşımlar Wed, 19 Feb 2025 12:52:42 +0000 tr hourly 1 https://wordpress.org/?v=6.7.2 https://dijitalturk.com/veysel/wp-content/uploads/2024/12/favicon-32x32-1.png widget – DijitalTurk https://dijitalturk.com/veysel 32 32 Custom Request Page Widgets https://dijitalturk.com/veysel/custom-request-page-widgets/ https://dijitalturk.com/veysel/custom-request-page-widgets/#respond Fri, 01 Oct 2021 10:18:55 +0000 https://dijitalturk.com/veysel/?p=1841 Portal sayfasında daha hızlı ve alternatif bir katalog sayfası için 2 adet widget. Biraz geliştirmeye açık. [ddownload id=”1840″ text=”İndir”]

The post Custom Request Page Widgets appeared first on DijitalTurk.

]]>
Portal sayfasında daha hızlı ve alternatif bir katalog sayfası için 2 adet widget.

Biraz geliştirmeye açık.

[ddownload id=”1840″ text=”İndir”]

The post Custom Request Page Widgets appeared first on DijitalTurk.

]]>
https://dijitalturk.com/veysel/custom-request-page-widgets/feed/ 0
Approval, Onaycı Widget Full https://dijitalturk.com/veysel/approval-onayci-widget-full/ https://dijitalturk.com/veysel/approval-onayci-widget-full/#respond Fri, 01 Oct 2021 08:31:04 +0000 https://dijitalturk.com/veysel/?p=1830 Onaycıların işlerini kolaylaştırmak için üzerinde bazı geliştirmeler yaptığım Approval, Onaycı Widget’ının XML export edilmiş halini ve ekran görüntülerini aşağıda bulabilirsiniz. […]

The post Approval, Onaycı Widget Full appeared first on DijitalTurk.

]]>
Onaycıların işlerini kolaylaştırmak için üzerinde bazı geliştirmeler yaptığım Approval, Onaycı Widget’ının XML export edilmiş halini ve ekran görüntülerini aşağıda bulabilirsiniz.

Önce XML dosyasını import ediyorsunuz.

Daha sonra sayfanıza dt_approval_full widget’ını eklemeniz yeterli

Onayların listelendiği ekran:

Widget Ayarlarını yapabilirsiniz:

Widget ayarları

Onay ile ilgili tüm detayların göründüğü ekran:

dt_approval_full-Widget-V3 (1)

The post Approval, Onaycı Widget Full appeared first on DijitalTurk.

]]>
https://dijitalturk.com/veysel/approval-onayci-widget-full/feed/ 0
Tablı Widget yapısı oluşturma. https://dijitalturk.com/veysel/tabli-widget-yapisi-olusturma/ https://dijitalturk.com/veysel/tabli-widget-yapisi-olusturma/#respond Sat, 23 Mar 2019 10:09:35 +0000 http://dijitalturk.com/veysel/?p=1166 Navigasyon ekranında formu section yapısı ile tablı olarak dizayn ettiğimiz zaman Servicenow’un OOB widgetları bu tablı yapıyı render edemiyor ve […]

The post Tablı Widget yapısı oluşturma. appeared first on DijitalTurk.

]]>
Navigasyon ekranında formu section yapısı ile tablı olarak dizayn ettiğimiz zaman Servicenow’un OOB widgetları bu tablı yapıyı render edemiyor ve fieldları alt alta listelerek okunması zor bir yapı karşımıza çıkartıyor. Yapacağımız 3 adımlı geliştirme sonrasında widget’ımız tablı özellik kazanmış olacak.

Nevigasyon ekranı tablı yapısı:

OOB widget tablı yapı görünümü:

Geliştirme sonrası tablı Widget görünümü:

 

 

Bu sounu aşmak için 3 adımdan oluşan bir geliştirme yapmamız yeterli.

  1. adım UI Script oluşturuyoruz.
(function() {
  angular.module('myTabbedFormFilters', []).filter('titledFormSectionFilter', function() {
    return function(input) {
      var output = [];
      console.log('JMM: input.length: '+ input.length);
      for (var i = 0; i < input.length; i++) {
        if (input[i].captionDisplay.length > 0) {
          console.log('JMM: captionDisplay:' + input[i].captionDisplay);
          output.push(input[i]);
        }	

      }
      return output;
    };
  }).filter('currentFormSectionFilter', function() {
    return function(input, startingCaptionDisplay) {
      var output = [];
      var include = false;
      for (var i = 0; i < input.length; i++) {
        if (input[i].captionDisplay == startingCaptionDisplay) {
          include = true;
          output.push(input[i]);
        } else if((include)&&(input[i].captionDisplay == '')){
          output.push(input[i]);
        } else {
          include = false;
        }
      }
      return output;
    };
  });
  
})();

2. adım

Widget’ın içine bir ng-template tanımlıyoruz. adı: “smse-tabbed-sp-model-xml” olacak.

<div>
  <uib-tabset active="active" justified="true">
  <uib-tab index="$index+1" ng-repeat="titleContainer in containers | titledFormSectionFilter" heading="{{titleContainer.captionDisplay}}">
    <fieldset ng-repeat="container in containers | currentFormSectionFilter : titleContainer.captionDisplay" ng-show="isContainerVisible(container)" ng-init="$last ? execItemScripts() : null">
      <legend class="h4" ng-if="(container.caption || container.captionDisplay)">{{container.captionDisplay || container.caption}}</legend>
      <div class="row">
        <div ng-repeat="column in container.columns" class="col-md-{{12 / container.columns.length }}">
          <div ng-switch="f.type" ng-repeat="f in column.fields" id="{{getVarID(f)}}" ng-class="{'form-inline': isInlineForm === true }">
            <div ng-switch-when="label" ng-if="formModel._fields[f.name]" ng-show="formModel._fields[f.name].visible">
              <label ng-bind-html="::f.label"></label>
              <span ng-if="::formModel._fields[f.name].instructions" ng-bind-html="::formModel._fields[f.name].instructions"></span>
              <p ng-if="::formModel._fields[f.name].help_text" title="{{::formModel._fields[f.name].help_tag}}" class="help-block" ng-bind-html="::formModel._fields[f.name].help_text"></p>
              <hr class="sp_label_hr"></hr>
            </div>
            <sp-form-field ng-switch-when="field" ng-if="formModel._fields[f.name]" form-model="formModel" field="formModel._fields[f.name]" glide-form="getGlideForm()" ng-show="formModel._fields[f.name].visible"></sp-form-field>
            <sp-variable-layout ng-switch-when="container" ng-init="containers=[f]"></sp-variable-layout>
            <sp-variable-layout ng-switch-when="checkbox_container" ng-init="containers=f.containers"></sp-variable-layout>
            <sp-widget ng-switch-when="formatter" ng-if="formModel._formatters[f.id].widgetInstance" widget="formModel._formatters[f.id].widgetInstance" page="{g_form: getGlideForm()}"></sp-widget>
            <hr ng-switch-when="break"></hr>
          </div>
        </div>
      </div>
    </fieldset>
  </uib-tab>
  </uib-tabset>
</div>

3. adım olarak widget’ın Body kısmıda <!–form–> alanını aşağıdaki kod ile değiştiriyoruz.

<div>
     <sp-model form_model="data.f" mandatory="mandatory" template-url="smse-tabbed-sp-model-xml"></sp-model>
   </div>

 

The post Tablı Widget yapısı oluşturma. appeared first on DijitalTurk.

]]>
https://dijitalturk.com/veysel/tabli-widget-yapisi-olusturma/feed/ 0
Servicenow portal’da rapor sayfası oluşturma https://dijitalturk.com/veysel/servicenow-portalda-rapor-sayfasi-olusturma/ https://dijitalturk.com/veysel/servicenow-portalda-rapor-sayfasi-olusturma/#respond Mon, 24 Dec 2018 07:18:35 +0000 http://dijitalturk.com/veysel/?p=1104 Servicenow portal’de bir dashboard-rapor sayfası hazırlamak isterseniz öncelikle ilgili raporları navigasyon sayfasında hazırlayıp “Publish” etmiş olmanız gerekir. Sonrasında Servicnow’da bu […]

The post Servicenow portal’da rapor sayfası oluşturma appeared first on DijitalTurk.

]]>
Servicenow portal’de bir dashboard-rapor sayfası hazırlamak isterseniz öncelikle ilgili raporları navigasyon sayfasında hazırlayıp “Publish” etmiş olmanız gerekir.

Sonrasında Servicnow’da bu raporların görüneceği ana sayfanızı hazırladıktan sonra aşağıdaki kodlara benzer bir yapıda html alana sahip bir widget hazırlamanız ve bu sayfaya eklemeniz yeterli olacaktır.

<div class="col-lg-4">
    <iframe class="embed-responsive-item" 
            ng-src="sys_report_display.do?sysparm_report_id=01a8f532df01110068c37a0d3df2635a" 
            height="500px" 
            width="100%" 
            frameborder="0" 
            scrolling="no" 
            allowfullscreen>
    </iframe>
  </div>
  <div class="col-lg-4">
    <iframe class="embed-responsive-item" 
            ng-src="sys_report_display.do?sysparm_report_id=01a8f532df01110068c37a0d3df2635a" 
            height="500px" 
            width="100%" 
            frameborder="0" 
            scrolling="no" 
            allowfullscreen>
    </iframe>
  </div>
  <div class="col-lg-4">
    <iframe class="embed-responsive-item" 
            ng-src="sys_report_display.do?sysparm_report_id=01a8f532df01110068c37a0d3df2635a" 
            height="500px" 
            width="100%" 
            frameborder="0" 
            scrolling="no" 
            allowfullscreen>
    </iframe>  
  </div>

  <!--<a href="?id={{portal.homepage_dv}}" class="btn btn-default btn-lg m m-b-0">Back to Home</a>-->

Aşağıda kırmızı ile işaretli sys_id önceden hazırlayıp “publish” ettiğiniz raporunuzun sys_id’si olmalıdır.

report_id=01a8f532df01110068c37a0d3df2635a  

 

The post Servicenow portal’da rapor sayfası oluşturma appeared first on DijitalTurk.

]]>
https://dijitalturk.com/veysel/servicenow-portalda-rapor-sayfasi-olusturma/feed/ 0
Son kullanıcı çözüm onaylama widget https://dijitalturk.com/veysel/son-kullanici-cozum-onaylama-widget/ https://dijitalturk.com/veysel/son-kullanici-cozum-onaylama-widget/#respond Mon, 05 Mar 2018 12:48:30 +0000 http://dijitalturk.com/veysel/?p=962 Portal tarafında son kullanıcıya açılan incident’ı onaylayıp onaylamadığı ile ilgili bir widget yapmak isterseniz aşağıdaki gibi yapılandırabilirsiniz. Body HTML template […]

The post Son kullanıcı çözüm onaylama widget appeared first on DijitalTurk.

]]>
Portal tarafında son kullanıcıya açılan incident’ı onaylayıp onaylamadığı ile ilgili bir widget yapmak isterseniz aşağıdaki gibi yapılandırabilirsiniz.

Body HTML template

<div align="center" class="text-center">
<div class="col-lg-6">
<button type="button" ng-click="c.onay()" class="btn btn-success">Çözümü onaylıyorum.</button>
  </div>
  <div class="col-lg-6">
<button type="button" ng-click="c.red()" class="btn btn-danger">Çözümü onaylamıyorum.</button>
  </div>
  
  
</div>

 

 

Server script

  var sysID = $sp.getParameter("sys_id");
  var table = $sp.getParameter("table");

          if( input.action == 'onay' ) {

          //gs.addInfoMessage( 'onaylanacak: ' + sysID + ' ' + table );

           //Update +
          var q= "sys_id=" + sysID; 
          var gr= new GlideRecord(table); 
          gr.addEncodedQuery(q); 
          gr.query(); 
                  while(gr.next()) {


                      if( (gr.sys_id==sysID) && (gr.state==6) ) {
                          
                         gr.state=7;
                         gr.update();
                        gs.addInfoMessage( 'Çağrınız onayınız ile kapatılmıştır. ' );
                           } else {
                             gs.addInfoMessage( 'Çağrınız henüz çözülmemiş. ' );
                           }
                          //if

                  } //while
                    //Update -

          }
          //if onay


//--------------------------

          if( input.action == 'red' ) {

          //gs.addInfoMessage( 'onaylanacak: ' + sysID + ' ' + table );

           //Update +
          var q= "sys_id=" + sysID; 
          var gr= new GlideRecord(table); 
          gr.addEncodedQuery(q); 
          gr.query(); 

                  while(gr.next()) {


                      if( (gr.sys_id==sysID) && (gr.state==6) ) {
                          
                         gr.state=4;
                        gr.work_notes='Çağrı sahibi uygulanan çözümü onaylamamıştır.'
                         gr.update();
                        gs.addInfoMessage( 'Çağrınız yeniden açılmıştır. ' );
                           } else {
                             gs.addInfoMessage( 'Çağrınız henüz çözülmemiş. ' );
                           }
                          //if

                  } //while
                    //Update -

          }
          //if onay

 

Client controller

function($scope, $timeout) {
  
  
  var c = this;
  
//
  c.onay = function onay() {
    c.data.action = "onay";
    c.server.update().then(function(){
           
  });		
  
  }
  //func onay

   c.red = function red() {

    c.data.action = "red";
    c.server.update().then(function(){
               
  });	
  
  
  }
  //func red
  
}

 

The post Son kullanıcı çözüm onaylama widget appeared first on DijitalTurk.

]]>
https://dijitalturk.com/veysel/son-kullanici-cozum-onaylama-widget/feed/ 0