kintone에 색종이를 내리자!

18580 단어 금과
kintone Advent Calendar 2019 14일째의 기사입니다.

소개



kintone으로 이슈 관리나 태스크 관리를 하고 있는 분은 많은 것이 아닐까요?
작업이 완료되었거나 사건을 주문할 때 성취감을 느끼고 싶지 않습니까? (((갑자기)))

그런 분들을 위해,
레코드의 상태가 완료되면 레코드 상세 화면에 색종이를 불러 축하해주는 커스터마이즈를 해 보았습니다 🎊

앱 준비



앱 스토어에서 '이슈 관리' 앱을 추가하세요.
"프로세스 관리 활성화"에 ☑하는 것을 잊지 마세요!


맞춤형



색종이가 춤추는 처리는 Snowfall 라는 라이브러리를 사용하고 있습니다.
Github에서 소스 코드를 다운로드합니다.

snowfall.jquery.js



기본 설정이라면
  • 여러 이미지를 설정할 수 없습니다
  • 이미지가 회전하지 않음
    그리고 조금 짜증나지 않기 때문에 조금 "snowfall.jquery.js"로 변경합니다.

  • 1. 복수의 이미지 지정



    변경 부분

    //Snow flake object의 상당에 이하의 코드를 추가합니다.

    snowfall.jquery.js
    function randArray(_str) {
      var i = _str.length;
      while (i) {
        var y = Math.floor(Math.random() * i);
        var t = _str[--i];
        _str[i] = _str[y];
        _str[y] = t;
      }
      return _str;
    }
    
    // Snow flake object
    

    그리고 다음 부분을 변경합니다.

    변경 전

    snowfall.jquery.js
    if (options.image) {
      flakeMarkup = document.createElement("img");
      flakeMarkup.src = options.image; //←この行を変更
    } else {
      flakeMarkup = document.createElement("div");
      $(flakeMarkup).css({ background: options.flakeColor });
    }
    

    변경 후

    snowfall.jquery.js
    if (options.image){
      flakeMarkup = document.createElement("img");
      flakeMarkup.src = options.image[random(0,options.image.length-1)]; //←この行を変更
    }else{
      flakeMarkup = document.createElement("div");
      $(flakeMarkup).css({'background' : options.flakeColor});
    }
    

    2. 이미지 회전



    변경 부분

    snowfall.jquery.js 중에서 위치를 결정하는 것은 다음 부분입니다.

    변경 전

    snowfall.jquery.js
    // Update function, used to update the snow flakes, and checks current snowflake against bounds
    this.update = function(){
        this.y += this.speed;
    
        if (this.y > (elHeight) - (this.size  + 6)){
            this.reset();
        }
    
        this.element.style.top = this.y + 'px';
        this.element.style.left = this.x + 'px';
    

    다음 두 줄을 추가합니다.
    this.element.style.transform = 'rotateY('+(this.x+this.y)%360 + 'deg)'; //←この行を追加
    this.element.style.transform = 'rotateX('+(this.x+this.y)%360 + 'deg)'; //←この行を追加
    

    변경 후

    snowfall.jquery.js
    // Update function, used to update the snow flakes, and checks current snowflake against bounds
    this.update = function(){
        this.y += this.speed;
    
        if (this.y > (elHeight) - (this.size  + 6)){
            this.reset();
        }
    
        this.element.style.top = this.y + 'px';
        this.element.style.left = this.x + 'px';
        this.element.style.transform = 'rotateY('+(this.x+this.y)%360 + 'deg)'; //←この行を追加
        this.element.style.transform = 'rotateX('+(this.x+this.y)%360 + 'deg)'; //←この行を追加
    

    금과 소리



    상태가 「완료」가 되었을 때의 처리를 기입합니다.
    Snowfall 옵션은 원하는대로 변경하십시오.

    kamifubuki.js
    (function() {
      "use strict";
    
      kintone.events.on("app.record.detail.process.proceed", function(event) {
        var status = event.nextStatus.value;
        if (status === "完了") {
          $(document).ready(function() {
            $(document).snowfall({
              // 紙吹雪の量
              flakeCount: 100,
              // z-indexの値
              flakeIndex: "888",
              // 最小サイズ
              minSize: 8,
              // // 最大サイズ
              maxSize: 10,
              // 最低速度
              minSpeed: 1,
              // 最高速度
              maxSpeed: 3,
              // 影をつける
              shadow: false,
              // 画像
              image: [
                // "画像へのパス"
              ]
            });
          });
        }
    
        return event;
      });
    })();
    
    

    PC용 JavaScript 파일



    다음 세 가지를 적용합니다.
  • htps : // js. cy 흐림. 이 m/j 쿠에 ry/3.4.1/j 쿠에 ry. 모두. js
  • snowfall.jquery.js
  • kamifubuki.js



  • 결과



    상태를 완료로 진행하면 ...


    와~! 색종이가 내려왔습니다!
    잘 보면 별이나 하트도 흩어져 있습니다.
    축하합니다 🥳🎊

    끝에



    실용성은 분명 별로 없지만, 왠지 즐거운 기분을 맛볼 수 있었기 때문에 좋다!
    포털 화면이 표시될 때의 이벤트 또 있고, kintone의 포털 화면에 벚꽃이나 낙엽을 내리거나 해도 계절을 느낄 수 있을지도, 라고 생각했습니다.

    참고 사이트


  • 페이지에 눈을 내리자! JQuery-Snowfall 사용법
  • 【jQuery】snowfall 플러그인으로 복수 화상 대응
  • 눈이 흩날리는 히라히라 낙하하는 Snowfall jquery plugin을 복수 화상 대응으로 개조
  • 【jQuery】snowfall 플러그인을 커스터마이즈
  • 좋은 웹페이지 즐겨찾기