! 제품 버전을 정확하게 입력해 주세요.
제품 버전이 정확하게 기재되어 있지 않은 경우,
최신 버전을 기준으로 안내 드리므로
더욱 빠르고 명확한 안내를 위해
제품 버전을 정확하게 입력해 주세요!

컨텍스트 메뉴 활용법 > Q&A | 토론

본문 바로가기

VueJS 컨텍스트 메뉴 활용법

페이지 정보

작성자 제이크 작성일 2024-03-11 13:17 조회 60회 댓글 0건
제품 버전 : 최신버전

본문

https://demo.mescius.co.kr/wijmo/learn-wijmo/Input/Menu/ContextMenus/vue
이 링크와 같이 컨텍스트 메뉴를 적용하고자 하는데 어려움이 있어 질문 드립니다.


main.js

import { createApp } from 'vue'
import App from './App.vue'
import '@grapecity/wijmo.styles/wijmo.css';
import * as wjGrid from '@grapecity/wijmo.vue2.grid';
import * as wjInput from '@grapecity/wijmo.vue2.input';

const app = createApp(App);

// Wijmo Vue 컴포넌트를 전역으로 등록
app.component('WjFlexGrid', wjGrid.WjFlexGrid);
app.component('WjMenu', wjInput.WjMenu);
app.component('WjMenuItem', wjInput.WjMenuItem);
app.component('WjContextMenu', wjInput.WjContextMenu);

app.mount('#app');
 


App.vue

<template>
  <div class="container-fluid">
    <p>FlexGrid with ContextMenu</p>
   
    <wj-flex-grid
      id="FlexGrid"
      v-wjContextMenu="'ctxMenuId'"
      :itemsSource="data"
      @contextmenu="gridContextMenu"
    >
    </wj-flex-grid>

    <!-- 컨텍스트 메뉴 -->
    <wj-menu
      id="ctxMenuId"
      ref="ctxMenu"
      selectedValuePath="cmd"
      style="display: none"
      header="Context Menu"
      dropDownCssClass="ctx-menu"
      :itemClicked="menuItemClicked"
      :initialized="menuInitialized"
    >
      <wj-menu-item cmd="cmdNew">
        <span class="glyphicon glyphicon-asterisk"></span>&nbsp;&nbsp;New
      </wj-menu-item>
      <wj-menu-item cmd="cmdOpen">
        <span class="glyphicon glyphicon-folder-open"></span>&nbsp;&nbsp;Open
      </wj-menu-item>
      <wj-menu-item cmd="cmdSave">
        <span class="glyphicon glyphicon-floppy-disk"></span>&nbsp;&nbsp;Save
      </wj-menu-item>
      <wj-menu-separator />
      <wj-menu-item cmd="cmdExit">
        <span class="glyphicon glyphicon-remove"></span>&nbsp;&nbsp;Exit
      </wj-menu-item>
    </wj-menu>
  </div>
</template>

<script>
import { getData } from "./data";
import * as wjInput from "@grapecity/wijmo.vue2.input";

export default {
  name: "App",
  components: {
    WjMenu: wjInput.WjMenu,
    WjMenuItem: wjInput.WjMenuItem,
  },
  data: function () {
    return {
      data: getData(),
      ctxMenuEl: null,
      ctxMenuControl: null,
    };
  },
  methods: {
    menuItemClicked: function (menu) {
      alert(
        "Executing **" +
          menu.selectedValue +
          "** for element **" +
          menu.owner.id +
          "**"
      );
    },
    menuInitialized: function (menu) {
      this.ctxMenuControl = menu;
    },
  },
};
</script>

<style>
.owners:after {
  content: "";
  clear: both;
  display: block;
}

.owners > div {
  float: left;
  margin: 20px;
  padding: 20px;
}

.container-fluid .wj-flexgrid {
  max-height: 250px;
}

.container-fluid .wj-flexchart {
  max-height: 250px;
}

.wj-content.ctx-menu {
  padding: 3px;
  min-width: 120px;
  background: #fffbdd;
  overflow: hidden;
}

.ctx-menu .wj-listbox-item {
  text-align: center;
  margin: 6px;
}

#customDetail .glyphicon {
  font-size: 1.25em;
  margin-right: 0.5em;
  cursor: pointer;
  color: gray;
}

body {
  margin-bottom: 24pt;
}
</style>
 



data.js

// create some random data
export function getData() {
    let countries = ['US', 'Germany', 'UK', 'Japan', 'Italy', 'Greece'], data = [];
    //
    for (let i = 0; i < countries.length; i++) {
        data.push({
            id: i,
            country: countries[i % countries.length],
            sales: Math.random() * 100000,
            expenses: Math.random() * 50000
        });
    }
    //
    return data;
}
 


위와 같이 튜토리얼처럼 파일을 생성하였으나, wijmo.vue2.grid 모듈만 정상적으로 렌더링되고 wijmo.vue2.input 모듈은 적용이 안되는 것 같습니다. (우클릭해도 컨텍스트 메뉴가 나오지 않습니다.)



개발자 도구의 콘솔에서는 아래와 같이 경고 문구가 나옵니다.


 



  • 페이스북으로 공유
  • 트위터로  공유
  • 링크 복사
  • 카카오톡으로 보내기

댓글목록

등록된 댓글이 없습니다.

2 답변

VueJS Re: 컨텍스트 메뉴 활용법

추천0 이 글을 추천하셨습니다 비추천0 채택채택

페이지 정보

작성자 MESCIUS루시 작성일 2024-03-14 08:46 댓글 1건

본문

안녕하세요 메시어스입니다.


Wijmo를 Vue3에서 개발하는 경우, 지시문을 등록하거나 보조 등록 함수를 사용해야 합니다. 만일 여러 컴포넌트를 사용하고 동시에 등록해야 하는 경우에는 아래 코드와 같이 보조 등록함수를 이용하여 구현해보시기 바랍니다. 관련하여 자세한 코드는 아래 샘플에서 확인할 수 있습니다.


import { registerCore } from '@grapecity/wijmo.vue2.core';
import { registerInput } from '@grapecity/wijmo.vue2.input';
import { registerGrid } from '@grapecity/wijmo.vue2.grid';
const app = createApp(App);


registerCore(app);
registerInput(app);
registerGrid(app);



다른 궁금한 점이 생기면 문의주시기 바랍니다.


감사합니다.

메시어스 드림


댓글목록

제이크님의 댓글

제이크 작성일

답변 내용으로 문제를 잘 해결 했습니다.

혹시 아래 링크도 적용하는 방법을 알려주세요~
https://demo.mescius.co.kr/wijmo/learn-wijmo/Grid/ContextMenus/purejs

vue에 적용하는 방법이 없어서 헤매고 있습니다ㅠ

VueJS Re: 컨텍스트 메뉴 활용법

추천1 이 글을 추천하셨습니다 비추천0

페이지 정보

작성자 MESCIUS루시 작성일 2024-03-19 14:09 댓글 1건

본문

안녕하세요 메시어스입니다.


문의하신 컨텍스트 메뉴 Vue 샘플을 공유하오니 참고 부탁드립니다.



다른 궁금한 점이 생기면 문의주시기 바랍니다.


감사합니다.

메시어스 드림

댓글목록

메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기
메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기
이메일 : sales-kor@mescius.com | 전화 : 1670-0583 | 경기도 과천시 과천대로 7길 33, 디테크타워 B동 1107호 메시어스(주) 대표자 : 허경명 | 사업자등록번호 : 123-84-00981 | 통신판매업신고번호 : 2013-경기안양-00331 ⓒ 2024 MESCIUS inc. All rights reserved.