https://angularjs.org/

【必要知識】
・HTML
・AngularJS(ver1.x系のみ使用可能)
・CSS
・サーバスクリプト

【作成場所】
sp_widgetテーブル

【Snow的お作法】
サーバー⇒クライアント
クライアント⇒サーバー
の参照・受け渡しができれば大体のことはできるようになります
※サーバーはonLoad時に動くため、サーバーからの参照は
 クライアント側からデータを渡してあげないと読めないかも、、


サーバーから受取り
<HTML>
  <p>{{data.incList.sysid}}</p> <!-- temp.xxxで設定した部分をdata.配列.xxxで呼べる -->
  <p>{{data.incList.length}}</p> <!-- GlideRecordの件数を出したいとき -->
  <p>{{data.incList|json}}</p> <!-- 全てのデータをjson形式で表示(デバッグ用) -->

<Server script>
(function() {
  data.userID = gs.getUserID().toString();

  data.incList = [];
  var gr = new GlideRecord('incident');
  gr.query();
  while(gr.next()){
    var temp = {}
    temp.sysid = gr.sys_id;
    temp.number = gr.number;
    …
    data.incList.push(temp);
  }
})();

<Client script>
console.log($scope.data.userID)// ⇒ サーバー側で定義したdata.userIDの値(ユーザのsysid)
console.log(data.incList) // ⇒ object全て
console.log(data.incList[0]) // ⇒ 0番目のobject
console.log(data.incList[0].sysid) // ⇒ 0番目のobjectのsysid


サーバーへの渡し
<HTML>
  <input type="text" placeholder="Please enter word!" ng-model="c.data.str">
  <input type="button" value="Submit" ng-click="c.submit()">

<Server script>
(function() {
  if (input){ // Client scriptアップデートトリガー
    if(input.action == 'createMessage'){ // アクション名を読み込む
      gs.addErrorMessage(input.str); // クライアント側c.data.xxxは input.xxxに格納される
    }
  }
})();

<Client script>
function ($scope, $location, spUtil, amb, $http) { // 決まり文句
  var c = this; // 決まり文句(controllerAsの変数を指定すること)

  c.submit = function() {
    c.data.action = "createMessage"; // サーバーに渡すアクション名
    c.server.update().then(function(){ // サーバーをアップデートする
      c.data.action = undefined; // アップデートしたら空のアクション名を渡す
      c.data.str = "";
    });
  };
}

<controllerAs>
c

Next Post Previous Post
No Comment
Add Comment
comment url