Angular

<p>InputManJSのコントロールを使用したAngularアプリケーションを作成するには、次の手順に従います。(ドロップダウンプラグインと検証コントロールの作成方法は、各コントロールのサンプルを参照してください。)</p> <p>以下の手順では、事前に<a href="https://nodejs.org/ja/">NodeJS</a>と<a href="https://cli.angular.io/">Angular CLI</a>がコンピュータにインストールされている必要があります。</p> <ol> <li>コマンドライン(コマンドプロンプトやターミナル)で次のコマンドを実行して、新しいAngularアプリケーションを作成します。</li> </ol> <pre><code class="hljs sh language-sh">ng new inputmanjs-angular --defaults </code></pre> <ol start="2"> <li>次のコマンドを実行して、作成したアプリケーションのディレクトリに移動します。</li> </ol> <pre><code class="hljs sh language-sh"><span class="hljs-built_in">cd</span> inputmanjs-angular </code></pre> <ol start="3"> <li>次のコマンドを実行して、InputManJSのAngularパッケージをインストールします。</li> </ol> <pre><code class="hljs sh language-sh">npm install @grapecity/inputman.angular </code></pre> <ol start="4"> <li>「<code>src/styles.css</code>」ファイルで以下の内容を設定します。ここでは、InputManJSのスタイルをインポートします。</li> </ol> <pre><code class="hljs css language-css"><span class="hljs-keyword">@import</span> <span class="hljs-string">'@grapecity/inputman/CSS/gc.inputman-js.css'</span>; </code></pre> <ol start="5"> <li>「<code>src/app/app.module.ts</code>」ファイルで以下の内容を設定します。ここでは、InputManJSのAngularモジュールをインポートします。</li> </ol> <pre><code class="hljs ts language-ts"><span class="hljs-keyword">import</span> { BrowserModule } <span class="hljs-keyword">from</span> <span class="hljs-string">'@angular/platform-browser'</span>; <span class="hljs-keyword">import</span> { NgModule } <span class="hljs-keyword">from</span> <span class="hljs-string">'@angular/core'</span>; <span class="hljs-keyword">import</span> { InputManModule } <span class="hljs-keyword">from</span> <span class="hljs-string">'@grapecity/inputman.angular'</span>; <span class="hljs-keyword">import</span> { AppComponent } <span class="hljs-keyword">from</span> <span class="hljs-string">'./app.component'</span>; <span class="hljs-meta">@NgModule</span>({ declarations: [ AppComponent ], imports: [ BrowserModule, InputManModule ], providers: [], bootstrap: [AppComponent] }) <span class="hljs-keyword">export</span> <span class="hljs-keyword">class</span> AppModule { } </code></pre> <ol start="6"> <li>「<code>src/app/app.component.ts</code>」ファイルで以下の内容を設定します。ここでは、連結するデータを定義します。</li> </ol> <pre><code class="hljs ts language-ts"><span class="hljs-keyword">import</span> { Component } <span class="hljs-keyword">from</span> <span class="hljs-string">'@angular/core'</span>; <span class="hljs-meta">@Component</span>({ selector: <span class="hljs-string">'app-root'</span>, templateUrl: <span class="hljs-string">'./app.component.html'</span>, styleUrls: [<span class="hljs-string">'./app.component.css'</span>] }) <span class="hljs-keyword">export</span> <span class="hljs-keyword">class</span> AppComponent { textValue = <span class="hljs-string">'テキスト'</span>; maskValue = <span class="hljs-string">'9813205'</span>; dateValue = <span class="hljs-keyword">new</span> <span class="hljs-built_in">Date</span>(<span class="hljs-number">2020</span>, <span class="hljs-number">0</span>, <span class="hljs-number">1</span>); numberValue = <span class="hljs-number">1</span>; listItems = [<span class="hljs-string">'項目1'</span>, <span class="hljs-string">'項目2'</span>, <span class="hljs-string">'項目3'</span>, <span class="hljs-string">'項目4'</span>, <span class="hljs-string">'項目5'</span>]; selectedListIndex = <span class="hljs-number">0</span>; } </code></pre> <ol start="7"> <li>「<code>src/app/app.component.html</code>」ファイルで以下の内容を設定します。ここでは、InputManJSのコンポーネントを生成します。</li> </ol> <pre><code class="hljs html language-html">テキストコントロール<span class="hljs-tag">&lt;<span class="hljs-name">br</span>&gt;</span> <span class="hljs-tag">&lt;<span class="hljs-name">gc-text-box</span> [(<span class="hljs-attr">text</span>)]=<span class="hljs-string">"textValue"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">gc-text-box</span>&gt;</span><span class="hljs-tag">&lt;<span class="hljs-name">br</span>&gt;</span><span class="hljs-tag">&lt;<span class="hljs-name">br</span>&gt;</span> 複数行テキストコントロール<span class="hljs-tag">&lt;<span class="hljs-name">br</span>&gt;</span> <span class="hljs-tag">&lt;<span class="hljs-name">gc-multiline-textbox</span> [(<span class="hljs-attr">text</span>)]=<span class="hljs-string">"textValue"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">gc-multiline-textbox</span>&gt;</span><span class="hljs-tag">&lt;<span class="hljs-name">br</span>&gt;</span><span class="hljs-tag">&lt;<span class="hljs-name">br</span>&gt;</span> マスクコントロール<span class="hljs-tag">&lt;<span class="hljs-name">br</span>&gt;</span> <span class="hljs-tag">&lt;<span class="hljs-name">gc-mask</span> [(<span class="hljs-attr">value</span>)]=<span class="hljs-string">"maskValue"</span> <span class="hljs-attr">formatPattern</span>=<span class="hljs-string">"〒\D{3}-\D{4}"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">gc-mask</span>&gt;</span><span class="hljs-tag">&lt;<span class="hljs-name">br</span>&gt;</span><span class="hljs-tag">&lt;<span class="hljs-name">br</span>&gt;</span> 日付時刻コントロール<span class="hljs-tag">&lt;<span class="hljs-name">br</span>&gt;</span> <span class="hljs-tag">&lt;<span class="hljs-name">gc-datetime</span> [(<span class="hljs-attr">value</span>)]=<span class="hljs-string">"dateValue"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">gc-datetime</span>&gt;</span><span class="hljs-tag">&lt;<span class="hljs-name">br</span>&gt;</span><span class="hljs-tag">&lt;<span class="hljs-name">br</span>&gt;</span> 数値コントロール<span class="hljs-tag">&lt;<span class="hljs-name">br</span>&gt;</span> <span class="hljs-tag">&lt;<span class="hljs-name">gc-number</span> [(<span class="hljs-attr">value</span>)]=<span class="hljs-string">"numberValue"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">gc-number</span>&gt;</span><span class="hljs-tag">&lt;<span class="hljs-name">br</span>&gt;</span><span class="hljs-tag">&lt;<span class="hljs-name">br</span>&gt;</span> カレンダーコントロール<span class="hljs-tag">&lt;<span class="hljs-name">br</span>&gt;</span> <span class="hljs-tag">&lt;<span class="hljs-name">gc-calendar</span> [(<span class="hljs-attr">selectedDate</span>)]=<span class="hljs-string">"dateValue"</span> [<span class="hljs-attr">focusDate</span>]=<span class="hljs-string">"dateValue"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">gc-calendar</span>&gt;</span><span class="hljs-tag">&lt;<span class="hljs-name">br</span>&gt;</span><span class="hljs-tag">&lt;<span class="hljs-name">br</span>&gt;</span> コンボコントロール<span class="hljs-tag">&lt;<span class="hljs-name">br</span>&gt;</span> <span class="hljs-tag">&lt;<span class="hljs-name">gc-combo-box</span> [<span class="hljs-attr">items</span>]=<span class="hljs-string">"listItems"</span> [(<span class="hljs-attr">selectedIndex</span>)]=<span class="hljs-string">"selectedListIndex"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">gc-combo-box</span>&gt;</span><span class="hljs-tag">&lt;<span class="hljs-name">br</span>&gt;</span><span class="hljs-tag">&lt;<span class="hljs-name">br</span>&gt;</span> リストコントロール<span class="hljs-tag">&lt;<span class="hljs-name">br</span>&gt;</span> <span class="hljs-tag">&lt;<span class="hljs-name">gc-list-box</span> [<span class="hljs-attr">items</span>]=<span class="hljs-string">"listItems"</span> [(<span class="hljs-attr">selectedIndex</span>)]=<span class="hljs-string">"selectedListIndex"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">gc-list-box</span>&gt;</span> </code></pre> <ol start="8"> <li>次のコマンドを実行して、アプリケーションを起動します。</li> </ol> <pre><code class="hljs sh language-sh">npm start </code></pre> <ol start="9"> <li>ブラウザで「<code>http://localhost:4200/</code>」を参照し、アプリケーションを表示します。</li> </ol>
import '@grapecity/inputman/CSS/gc.inputman-js.css'; import { Component, enableProdMode } from '@angular/core'; @Component({ selector: 'app-component', templateUrl: './src/app.component.html', }) export class AppComponent { textValue = 'テキスト'; maskValue = '9813205'; dateValue = new Date(2020, 0, 1); numberValue = 1; listItems = ['項目1', '項目2', '項目3', '項目4', '項目5']; selectedListIndex = 0; } enableProdMode();
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>Angular</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <!-- Polyfills --> <script src="node_modules/core-js/client/shim.min.js"></script> <script src="node_modules/zone.js/dist/zone.min.js"></script> <!-- SystemJS --> <script src="node_modules/systemjs/dist/system.js"></script> <script src="systemjs.config.js"></script> <script> // workaround to load 'rxjs/operators' from the rxjs bundle System.import('rxjs').then(function (m) { System.set(SystemJS.resolveSync('rxjs/operators'), System.newModule(m.operators)); System.import('./src/app.component.module'); }); </script> </head> <body> <app-component></app-component> </body> </html>
テキストコントロール<br> <gc-text-box [(text)]="textValue"></gc-text-box><br><br> 複数行テキストコントロール<br> <gc-multiline-textbox [(text)]="textValue"></gc-multiline-textbox><br><br> マスクコントロール<br> <gc-mask [(value)]="maskValue" formatPattern="〒\D{3}-\D{4}"></gc-mask><br><br> 日付時刻コントロール<br> <gc-datetime [(value)]="dateValue"></gc-datetime><br><br> 数値コントロール<br> <gc-number [(value)]="numberValue"></gc-number><br><br> カレンダーコントロール<br> <gc-calendar [(selectedDate)]="dateValue" [focusDate]="dateValue"></gc-calendar><br><br> コンボコントロール<br> <gc-combo-box [items]="listItems" [(selectedIndex)]="selectedListIndex"></gc-combo-box><br><br> リストコントロール<br> <gc-list-box [items]="listItems" [(selectedIndex)]="selectedListIndex"></gc-list-box>
import { BrowserModule } from '@angular/platform-browser'; import { NgModule, CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA } from '@angular/core'; import { FormsModule } from '@angular/forms'; import { InputManModule } from "@grapecity/inputman.angular"; import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; import { AppComponent } from './app.component'; @NgModule({ declarations: [ AppComponent ], imports: [ InputManModule, BrowserModule, FormsModule, ], providers: [], bootstrap: [AppComponent], schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA ] }) export class AppModule { } // Bootstrap application with hash style navigation and global services. platformBrowserDynamic().bootstrapModule(AppModule);
(function (global) { System.config({ transpiler: 'ts', typescriptOptions: { tsconfig: true }, meta: { 'typescript': { "exports": "ts" }, '*.css': { loader: 'css' } }, paths: { // paths serve as alias 'npm:': 'node_modules/' }, // map tells the System loader where to look for things map: { 'core-js': 'npm:core-js/client/shim.min.js', 'zone': 'npm:zone.js/dist/zone.min.js', //'reflect-metadata': 'npm:reflect-metadata/Reflect.js', 'rxjs': 'npm:rxjs/bundles/rxjs.umd.min.js', //'rxjs': 'npm:rxjs', //'rxjs/operators': 'npm:rxjs/operators', '@angular/core': 'npm:@angular/core/bundles/core.umd.min.js', '@angular/common': 'npm:@angular/common/bundles/common.umd.min.js', '@angular/compiler': 'npm:@angular/compiler/bundles/compiler.umd.min.js', '@angular/platform-browser': 'npm:@angular/platform-browser/bundles/platform-browser.umd.min.js', '@angular/platform-browser-dynamic': 'npm:@angular/platform-browser-dynamic/bundles/platform-browser-dynamic.umd.min.js', '@angular/http': 'npm:@angular/http/bundles/http.umd.min.js', '@angular/common/http': 'npm:@angular/common/bundles/common-http.umd.min.js', '@angular/router': 'npm:@angular/router/bundles/router.umd.min.js', '@angular/forms': 'npm:@angular/forms/bundles/forms.umd.min.js', '@grapecity/inputman': 'npm:@grapecity/inputman/index.js', '@grapecity/inputman.angular': 'npm:@grapecity/inputman.angular/bundles/grapecity-inputman.angular.umd.js', '@grapecity/inputman/CSS': 'npm:@grapecity/inputman/CSS', 'bootstrap.css': 'npm:bootstrap/dist/css/bootstrap.min.css', 'jszip': 'npm:jszip/dist/jszip.min.js', 'typescript': 'npm:typescript/lib/typescript.js', 'ts': 'npm:plugin-typescript/lib/plugin.js', 'css': 'npm:systemjs-plugin-css/css.js' }, // packages tells the System loader how to load when no filename and/or no extension packages: { src: { defaultExtension: 'ts' }, rxjs: { defaultExtension: 'js' }, "node_modules": { defaultExtension: 'js' }, "@grapecity/inputman": { defaultExtension: 'js' } } }); })(this);