Skip to content

Instantly share code, notes, and snippets.

@benfoley
Last active November 11, 2016 13:40
Show Gist options
  • Save benfoley/1ac7fc9447e67209555a1260721a1841 to your computer and use it in GitHub Desktop.
Save benfoley/1ac7fc9447e67209555a1260721a1841 to your computer and use it in GitHub Desktop.
import { NgModule } from '@angular/core';
import { IonicApp, IonicModule } from 'ionic-angular';
// The App !
import { MyApp } from './app.component';
// NPM modules
import { DndModule } from 'ng2-dnd';
// Pages
import { Home } from '../pages/home/home';
import { Tabs } from '../pages/tabs/tabs';
@NgModule({
declarations: [
MyApp,
Home,
Tabs,
],
imports: [
IonicModule.forRoot(MyApp),
DndModule.forRoot()
],
exports: [DndModule],
bootstrap: [IonicApp],
// Add components here that aren't referenced in templates
// E.g. people-card doesn't get included here
// because people-card selector is used in template html
// Pages that we link to using nav.push go here
// because the nav is done in component not html.. etc
entryComponents: [
MyApp,
Home,
Tabs
],
providers: [
]
})
export class AppModule {}
<ion-header>
<ion-navbar>
<ion-title>Home</ion-title>
</ion-navbar>
</ion-header>
<ion-content padding class="home-page">
<div class="row">
<div
class="person"
*ngFor='let item of items'
dnd-draggable
[dragEnabled]="true"
[dragData]="item"
>
<p>{{item}}</p>
</div>
</div>
<div class="row">
<div
dnd-droppable
(onDropSuccess)="droppedPerson($event)"
>
<div class="person">
{{droppedValue}}
</div>
</div>
</div>
</ion-content>
// pages home
import { Component } from '@angular/core';
@Component({
templateUrl: 'home.html',
})
export class Home {
items: number[];
droppedValue: number;
constructor() {
this.items = [1,2,3,4];
}
droppedPerson(event) {
console.log(event);
this.droppedValue = event.dragData;
}
}
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="UTF-8">
<title>Ionic App</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
<meta name="format-detection" content="telephone=no">
<meta name="msapplication-tap-highlight" content="no">
<link rel="icon" type="image/x-icon" href="assets/icon/favicon.ico">
<link rel="manifest" href="assets/manifest.json">
<meta name="theme-color" content="#4e8ef7">
<!-- un-comment this code to enable service worker
<script>
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('service-worker.js')
.then(() => console.log('service worker installed'))
.catch(err => console.log('Error', err));
}
</script>-->
<link href="build/main.css" rel="stylesheet">
</head>
<body>
<!-- Ionic's root component and where the app will load -->
<ion-app></ion-app>
<!-- drag n dro pshim for ios -->
<script src="assets/js/ios-drag-drop.js"></script>
<!-- cordova.js required for cordova apps -->
<script src="cordova.js"></script>
<!-- The polyfills js is generated during the build process -->
<script src="build/polyfills.js"></script>
<!-- The bundle js is generated during the build process -->
<script src="build/main.js"></script>
</body>
</html>
@wish-master
Copy link

Not work for me in prod mode, only in serve:
[16:22:15] Error: Error encountered resolving symbol values statically. Function calls are not supported. Consider
replacing the function or lambda with a reference to an exported function, resolving symbol AppModule in
/Users/Dmitry/Workstation/DND/.tmp/app/app.module.ts, resolving symbol AppModule in
/Users/Dmitry/Workstation/DND/.tmp/app/app.module.ts
[16:22:15] ngc failed
[16:22:15] ionic-app-script task: "build"
[16:22:15] Error: Error

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment