[쇼룸] 카테고리 설정 yaml

셀렉트 쇼룸의 카테고리 설정 페이지 YAML 코드입니다.

궁금한 점은 댓글이나 이메일, 서비스 내 채팅, 슬랙 등으로 편하게 문의주세요. 감사합니다.

menus:
  - path: category-setting
    name: 🗂️     카테고리 설정

pages:  
  - path: category-setting
    # class: container
    blocks:
      - type: left
        style: 
          maxWidth: 400px
          overflow: scroll
          height: calc(100vh - 130px)
        blocks:
        - type: markdown
          content: |
            <div class="container" style="max-width: 840px">
              <div class="bg-slate-50 text-slate-600 text-base w-100 rounded-2xl p-5 leading-7"
                style="
                  background-image: url(https://files.umso.co/lib_bwRJlGVmETDRvOcA/x5jgwiq9n8xs8imd.png); 
                  background-size: 45%;
                  background-position: center top;
                  background-repeat: no-repeat;
                  padding-top: 45% !important;
                "
              >

              ### 카테고리 설정을 더 자유롭게

              세상 사람들의 사랑받는 서비스를 운영하다보면 살아있는 내용을 자주 채워넣게 됩니다.
              
              쉽게 카테고리를 추가, 삭제하고 서비스를 더 멋있게 만들 수 있어요. 
              
              개발 리소스 부담으로 시도하고 못한 멋진 일들이 있다면 셀렉트를 통해 좀더 쉽게 가능합니다.
              
              > 엑셀을 가져오기, 내보내기와 데이터 업무를 더 이상 개발팀에게 부담을 주지않고 다같이 시작해봅니다.
              
              셀렉트를 도입하고나서는 새로운 CMS(Content Management System) 요소가 있어도 걱정없이 추가하고 있어요. 디비 테이블에만 잘 쌓아주면 개발팀이 알아서 화면에 녹이고 있습니다.
              
              **포인트1.** 셀렉트는 복잡한 SQL 쿼리없이도 검색, 정렬을 해주고 있어요.
              
              **포인트2.** 수백건 데이터부터 수백만건의 데이터까지 빠른 속도로 조작 가능하도록 고안된 방법을 제공합니다.

              
              </div>
            </div>   

      - type: right
        style:
          # maxWidth: 700px
          overflow: scroll
          height: calc(100vh - 130px)         
          border: 0 
        blocks:
          - type: query
            resource: mysql.qa
            sqlType: select
            sql: >
              SELECT * FROM MusicCategory ORDER BY id DESC
            paginationOptions: 
              enabled: true
              perPage: 10
            searchOptions: 
              enabled: true
            tableOptions:
              # small: true
              condensed: true
            showDownload: csv
            columns:
              id:
                label: ID
                width: 100px
              created_at:
                label: 생성일
                width: 100px
                hidden: true
              updated_at:
                label: 수정일
                width: 100px
                hidden: true
              deleted_at:
                label: 삭제일
                width: 100px
                hidden: true
              title:
                label: 제목
                width: 150px
                updateOptions:
                  type: query
                  resource: mysql.qa
                  sql: UPDATE MusicCategory SET title = :value WHERE id = :id
              main_category:
                label: 종합
                width: 150px
                updateOptions:
                  type: query
                  resource: mysql.qa
                  sql: UPDATE MusicCategory SET main_category = :value WHERE id = :id            
              sub_category_ko:
                label: 한국대중음악
                width: 150px
                updateOptions:
                  type: query
                  resource: mysql.qa
                  sql: UPDATE MusicCategory SET sub_category_ko = :value WHERE id = :id            
              sub_category_global:
                label: 해외POP음악
                width: 150px
                updateOptions:
                  type: query
                  resource: mysql.qa
                  sql: UPDATE MusicCategory SET sub_category_ko = :value WHERE id = :id                        
              etc_category:
                label: 그외인기장르
                width: 150px
                updateOptions:
                  type: query
                  resource: mysql.qa
                  sql: UPDATE MusicCategory SET etc_category = :value WHERE id = :id
              is_disabled:
                hidden: true
            selectOptions: 
              enabled: true
            actions:
              - label: 비활성화
                placement: bottom right
                button:
                  type: danger-light
                type: query
                resource: mysql.qa
                sqlType: update
                sql: >
                  UPDATE MusicCategory
                  SET is_disabled = 1
                  WHERE id = :id
                forEach: true
                params:
                  - key: id
                    valueFromRow: id

          - type: query
            resource: mysql.qa
            sqlType: insert
            sql: >
              INSERT INTO MusicCategory
              SET title = :title
                , main_category = :main_category
                , sub_category_ko = :sub_category_ko
                , sub_category_global = :sub_category_global
                , etc_category = :etc_category
                , created_at = NOW()
            formOptions:
              firstLabelWidth: 150px
              # labelWidth: 150px
              # width: 400px
            reloadAfterSubmit: true
            display: form
            submitButton:
              type: primary
            params:
              - key: title
                label: 제목
                title: 음악 카테고리 설정
                subtitle: 음악에 알맞는 카테고리를 지정해주세요.
                required: true
                width: 400px
              - key: main_category
                label: 종합
                radio: 
                  - 장르종합
                  - 국내종합
                  - 해외종합
                radioButtonGroup: true                          
              - key: sub_category_ko
                label: 한국대중음악
                radio: 
                  - 발라드
                  - 댄스
                  - 랩/힙합
                  - R&B/Soul
                  - 인디음악
                  - 록/메탈
                  - 트로트
                  - 포크/블루스
                radioButtonGroup: true            
              - key: sub_category_global
                label: 해외POP음악
                radio: 
                  - POP
                  - 록/메탈
                  - 일렉트로니카
                  - 랩/힙합
                  - R&B/Soul
                  - 포크/블루스/컨트리
                radioButtonGroup: true            
              - key: etc_category
                label: 그외인기장르   
                radio: 
                  - OST
                  - 재즈
                  - 뉴에이지
                  - J-pop
                  - 월드뮤직
                  - CCM
                  - 어린이/태교
                  - 종교음악
                  - 국악
                radioButtonGroup: true