├── api ├── .gitignore ├── .meteor │ ├── .gitignore │ ├── release │ ├── platforms │ ├── .id │ ├── .finished-upgraders │ ├── packages │ └── versions ├── node_modules ├── package.json ├── declarations.d.ts ├── server │ ├── models.ts │ ├── collections │ │ └── restaurants.ts │ ├── methods.ts │ └── main.ts └── tsconfig.json ├── src ├── app │ ├── app.html │ ├── main.js.map │ ├── main.ts │ ├── main.js │ ├── app.module.js.map │ ├── app.component.js.map │ ├── app.scss │ ├── app.component.ts │ ├── app.module.ts │ ├── app.component.js │ └── app.module.js ├── assets │ ├── imgs │ │ └── logo.png │ └── icon │ │ └── favicon.ico ├── pages │ ├── list │ │ ├── list.scss │ │ ├── list.ts │ │ └── list.html │ └── details │ │ ├── details.scss │ │ ├── details.html │ │ └── details.ts ├── manifest.json ├── declarations.d.ts ├── service-worker.js ├── index.html └── theme │ └── variables.scss ├── resources ├── icon.png ├── splash.png ├── ios │ ├── icon │ │ ├── icon.png │ │ ├── icon-40.png │ │ ├── icon-50.png │ │ ├── icon-60.png │ │ ├── icon-72.png │ │ ├── icon-76.png │ │ ├── icon@2x.png │ │ ├── icon-1024.png │ │ ├── icon-40@2x.png │ │ ├── icon-40@3x.png │ │ ├── icon-50@2x.png │ │ ├── icon-60@2x.png │ │ ├── icon-60@3x.png │ │ ├── icon-72@2x.png │ │ ├── icon-76@2x.png │ │ ├── icon-83.5@2x.png │ │ ├── icon-small.png │ │ ├── icon-small@2x.png │ │ └── icon-small@3x.png │ └── splash │ │ ├── Default-667h.png │ │ ├── Default-736h.png │ │ ├── Default~iphone.png │ │ ├── Default@2x~iphone.png │ │ ├── Default-568h@2x~iphone.png │ │ ├── Default-Landscape-736h.png │ │ ├── Default-Landscape~ipad.png │ │ ├── Default-Portrait~ipad.png │ │ ├── Default-Landscape@2x~ipad.png │ │ ├── Default-Portrait@2x~ipad.png │ │ ├── Default-Portrait@~ipadpro.png │ │ ├── Default-Landscape@~ipadpro.png │ │ └── Default@2x~universal~anyany.png ├── android │ ├── icon │ │ ├── drawable-hdpi-icon.png │ │ ├── drawable-ldpi-icon.png │ │ ├── drawable-mdpi-icon.png │ │ ├── drawable-xhdpi-icon.png │ │ ├── drawable-xxhdpi-icon.png │ │ └── drawable-xxxhdpi-icon.png │ └── splash │ │ ├── drawable-land-hdpi-screen.png │ │ ├── drawable-land-ldpi-screen.png │ │ ├── drawable-land-mdpi-screen.png │ │ ├── drawable-land-xhdpi-screen.png │ │ ├── drawable-port-hdpi-screen.png │ │ ├── drawable-port-ldpi-screen.png │ │ ├── drawable-port-mdpi-screen.png │ │ ├── drawable-port-xhdpi-screen.png │ │ ├── drawable-land-xxhdpi-screen.png │ │ ├── drawable-land-xxxhdpi-screen.png │ │ ├── drawable-port-xxhdpi-screen.png │ │ └── drawable-port-xxxhdpi-screen.png └── README.md ├── ionic.config.json ├── meteor-client.config.json ├── tslint.json ├── .editorconfig ├── .gitignore ├── README.md ├── tsconfig.json ├── package.json ├── webpack.config.js └── config.xml /api/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | -------------------------------------------------------------------------------- /api/.meteor/.gitignore: -------------------------------------------------------------------------------- 1 | local 2 | -------------------------------------------------------------------------------- /api/node_modules: -------------------------------------------------------------------------------- 1 | ../node_modules/ -------------------------------------------------------------------------------- /api/package.json: -------------------------------------------------------------------------------- 1 | ../package.json -------------------------------------------------------------------------------- /api/.meteor/release: -------------------------------------------------------------------------------- 1 | METEOR@1.6-rc.7 2 | -------------------------------------------------------------------------------- /api/.meteor/platforms: -------------------------------------------------------------------------------- 1 | server 2 | browser 3 | -------------------------------------------------------------------------------- /api/declarations.d.ts: -------------------------------------------------------------------------------- 1 | ../src/declarations.d.ts -------------------------------------------------------------------------------- /src/app/app.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /resources/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/icon.png -------------------------------------------------------------------------------- /resources/splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/splash.png -------------------------------------------------------------------------------- /src/assets/imgs/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/src/assets/imgs/logo.png -------------------------------------------------------------------------------- /resources/ios/icon/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/ios/icon/icon.png -------------------------------------------------------------------------------- /src/assets/icon/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/src/assets/icon/favicon.ico -------------------------------------------------------------------------------- /resources/ios/icon/icon-40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/ios/icon/icon-40.png -------------------------------------------------------------------------------- /resources/ios/icon/icon-50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/ios/icon/icon-50.png -------------------------------------------------------------------------------- /resources/ios/icon/icon-60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/ios/icon/icon-60.png -------------------------------------------------------------------------------- /resources/ios/icon/icon-72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/ios/icon/icon-72.png -------------------------------------------------------------------------------- /resources/ios/icon/icon-76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/ios/icon/icon-76.png -------------------------------------------------------------------------------- /resources/ios/icon/icon@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/ios/icon/icon@2x.png -------------------------------------------------------------------------------- /resources/ios/icon/icon-1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/ios/icon/icon-1024.png -------------------------------------------------------------------------------- /resources/ios/icon/icon-40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/ios/icon/icon-40@2x.png -------------------------------------------------------------------------------- /resources/ios/icon/icon-40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/ios/icon/icon-40@3x.png -------------------------------------------------------------------------------- /resources/ios/icon/icon-50@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/ios/icon/icon-50@2x.png -------------------------------------------------------------------------------- /resources/ios/icon/icon-60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/ios/icon/icon-60@2x.png -------------------------------------------------------------------------------- /resources/ios/icon/icon-60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/ios/icon/icon-60@3x.png -------------------------------------------------------------------------------- /resources/ios/icon/icon-72@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/ios/icon/icon-72@2x.png -------------------------------------------------------------------------------- /resources/ios/icon/icon-76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/ios/icon/icon-76@2x.png -------------------------------------------------------------------------------- /resources/ios/icon/icon-83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/ios/icon/icon-83.5@2x.png -------------------------------------------------------------------------------- /resources/ios/icon/icon-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/ios/icon/icon-small.png -------------------------------------------------------------------------------- /resources/ios/icon/icon-small@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/ios/icon/icon-small@2x.png -------------------------------------------------------------------------------- /resources/ios/icon/icon-small@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/ios/icon/icon-small@3x.png -------------------------------------------------------------------------------- /resources/ios/splash/Default-667h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/ios/splash/Default-667h.png -------------------------------------------------------------------------------- /resources/ios/splash/Default-736h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/ios/splash/Default-736h.png -------------------------------------------------------------------------------- /resources/ios/splash/Default~iphone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/ios/splash/Default~iphone.png -------------------------------------------------------------------------------- /resources/ios/splash/Default@2x~iphone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/ios/splash/Default@2x~iphone.png -------------------------------------------------------------------------------- /api/server/models.ts: -------------------------------------------------------------------------------- 1 | export interface Restaurant { 2 | _id?: string, 3 | title?: string, 4 | picture?: string, 5 | description?: string 6 | } -------------------------------------------------------------------------------- /resources/android/icon/drawable-hdpi-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/android/icon/drawable-hdpi-icon.png -------------------------------------------------------------------------------- /resources/android/icon/drawable-ldpi-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/android/icon/drawable-ldpi-icon.png -------------------------------------------------------------------------------- /resources/android/icon/drawable-mdpi-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/android/icon/drawable-mdpi-icon.png -------------------------------------------------------------------------------- /ionic.config.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "restalist", 3 | "app_id": "", 4 | "type": "ionic-angular", 5 | "integrations": { 6 | "cordova": {} 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /meteor-client.config.json: -------------------------------------------------------------------------------- 1 | { 2 | "runtime": { 3 | "DDP_DEFAULT_CONNECTION_URL": "http://192.168.1.131:3000" 4 | }, 5 | "import": [ 6 | 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /resources/android/icon/drawable-xhdpi-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/android/icon/drawable-xhdpi-icon.png -------------------------------------------------------------------------------- /resources/android/icon/drawable-xxhdpi-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/android/icon/drawable-xxhdpi-icon.png -------------------------------------------------------------------------------- /resources/ios/splash/Default-568h@2x~iphone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/ios/splash/Default-568h@2x~iphone.png -------------------------------------------------------------------------------- /resources/ios/splash/Default-Landscape-736h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/ios/splash/Default-Landscape-736h.png -------------------------------------------------------------------------------- /resources/ios/splash/Default-Landscape~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/ios/splash/Default-Landscape~ipad.png -------------------------------------------------------------------------------- /resources/ios/splash/Default-Portrait~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/ios/splash/Default-Portrait~ipad.png -------------------------------------------------------------------------------- /resources/android/icon/drawable-xxxhdpi-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/android/icon/drawable-xxxhdpi-icon.png -------------------------------------------------------------------------------- /resources/ios/splash/Default-Landscape@2x~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/ios/splash/Default-Landscape@2x~ipad.png -------------------------------------------------------------------------------- /resources/ios/splash/Default-Portrait@2x~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/ios/splash/Default-Portrait@2x~ipad.png -------------------------------------------------------------------------------- /resources/ios/splash/Default-Portrait@~ipadpro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/ios/splash/Default-Portrait@~ipadpro.png -------------------------------------------------------------------------------- /resources/ios/splash/Default-Landscape@~ipadpro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/ios/splash/Default-Landscape@~ipadpro.png -------------------------------------------------------------------------------- /resources/ios/splash/Default@2x~universal~anyany.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/ios/splash/Default@2x~universal~anyany.png -------------------------------------------------------------------------------- /resources/android/splash/drawable-land-hdpi-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/android/splash/drawable-land-hdpi-screen.png -------------------------------------------------------------------------------- /resources/android/splash/drawable-land-ldpi-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/android/splash/drawable-land-ldpi-screen.png -------------------------------------------------------------------------------- /resources/android/splash/drawable-land-mdpi-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/android/splash/drawable-land-mdpi-screen.png -------------------------------------------------------------------------------- /resources/android/splash/drawable-land-xhdpi-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/android/splash/drawable-land-xhdpi-screen.png -------------------------------------------------------------------------------- /resources/android/splash/drawable-port-hdpi-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/android/splash/drawable-port-hdpi-screen.png -------------------------------------------------------------------------------- /resources/android/splash/drawable-port-ldpi-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/android/splash/drawable-port-ldpi-screen.png -------------------------------------------------------------------------------- /resources/android/splash/drawable-port-mdpi-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/android/splash/drawable-port-mdpi-screen.png -------------------------------------------------------------------------------- /resources/android/splash/drawable-port-xhdpi-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/android/splash/drawable-port-xhdpi-screen.png -------------------------------------------------------------------------------- /resources/android/splash/drawable-land-xxhdpi-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/android/splash/drawable-land-xxhdpi-screen.png -------------------------------------------------------------------------------- /resources/android/splash/drawable-land-xxxhdpi-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/android/splash/drawable-land-xxxhdpi-screen.png -------------------------------------------------------------------------------- /resources/android/splash/drawable-port-xxhdpi-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/android/splash/drawable-port-xxhdpi-screen.png -------------------------------------------------------------------------------- /resources/android/splash/drawable-port-xxxhdpi-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Big-Silver/Ionic-Restalist-App/master/resources/android/splash/drawable-port-xxxhdpi-screen.png -------------------------------------------------------------------------------- /src/app/main.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";;AAAA,8EAA2E;AAE3E,2CAAyC;AAEzC,iDAAsB,EAAE,CAAC,eAAe,CAAC,sBAAS,CAAC,CAAC"} -------------------------------------------------------------------------------- /api/server/collections/restaurants.ts: -------------------------------------------------------------------------------- 1 | import { MongoObservable } from 'meteor-rxjs'; 2 | import { Restaurant } from '../models'; 3 | 4 | export const Restaurants = new MongoObservable.Collection('restaurants'); -------------------------------------------------------------------------------- /src/app/main.ts: -------------------------------------------------------------------------------- 1 | import 'meteor-client'; 2 | 3 | import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; 4 | 5 | import { AppModule } from './app.module'; 6 | 7 | platformBrowserDynamic().bootstrapModule(AppModule); 8 | -------------------------------------------------------------------------------- /tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "rules": { 3 | "no-duplicate-variable": true, 4 | "no-unused-variable": [ 5 | true 6 | ] 7 | }, 8 | "rulesDirectory": [ 9 | "node_modules/tslint-eslint-rules/dist/rules" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /src/pages/list/list.scss: -------------------------------------------------------------------------------- 1 | .restaurants-page-content { 2 | .restaurant-picture { 3 | border-radius: 30%; 4 | width: 50px; 5 | height: 50px; 6 | float: left; 7 | } 8 | 9 | .restaurant-info { 10 | float: left; 11 | margin: 10px 0 0 20px; 12 | } 13 | } -------------------------------------------------------------------------------- /src/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Ionic", 3 | "short_name": "Ionic", 4 | "start_url": "index.html", 5 | "display": "standalone", 6 | "icons": [{ 7 | "src": "assets/imgs/logo.png", 8 | "sizes": "512x512", 9 | "type": "image/png" 10 | }], 11 | "background_color": "#4e8ef7", 12 | "theme_color": "#4e8ef7" 13 | } -------------------------------------------------------------------------------- /src/app/main.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | var platform_browser_dynamic_1 = require("@angular/platform-browser-dynamic"); 4 | var app_module_1 = require("./app.module"); 5 | platform_browser_dynamic_1.platformBrowserDynamic().bootstrapModule(app_module_1.AppModule); 6 | //# sourceMappingURL=main.js.map -------------------------------------------------------------------------------- /api/.meteor/.id: -------------------------------------------------------------------------------- 1 | # This file contains a token that is unique to your project. 2 | # Check it into your repository along with the rest of this directory. 3 | # It can be used for purposes such as: 4 | # - ensuring you don't accidentally deploy one app on top of another 5 | # - providing package authors with aggregated statistics 6 | 7 | ipvkl8qd6b79.vmtvqv8ozuk7 8 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig helps developers define and maintain consistent coding styles between different editors and IDEs 2 | # editorconfig.org 3 | 4 | root = true 5 | 6 | [*] 7 | indent_style = space 8 | indent_size = 2 9 | 10 | # We recommend you to keep these unchanged 11 | end_of_line = lf 12 | charset = utf-8 13 | trim_trailing_whitespace = true 14 | insert_final_newline = true 15 | 16 | [*.md] 17 | trim_trailing_whitespace = false -------------------------------------------------------------------------------- /resources/README.md: -------------------------------------------------------------------------------- 1 | These are Cordova resources. You can replace icon.png and splash.png and run 2 | `ionic cordova resources` to generate custom icons and splash screens for your 3 | app. See `ionic cordova resources --help` for details. 4 | 5 | Cordova reference documentation: 6 | 7 | - Icons: https://cordova.apache.org/docs/en/latest/config_ref/images.html 8 | - Splash Screens: https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-splashscreen/ 9 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Specifies intentionally untracked files to ignore when using Git 2 | # http://git-scm.com/docs/gitignore 3 | 4 | *~ 5 | *.sw[mnpcod] 6 | *.log 7 | *.tmp 8 | *.tmp.* 9 | log.txt 10 | *.sublime-project 11 | *.sublime-workspace 12 | .vscode/ 13 | npm-debug.log* 14 | 15 | .idea/ 16 | .sourcemaps/ 17 | .sass-cache/ 18 | .tmp/ 19 | .versions/ 20 | coverage/ 21 | dist/ 22 | node_modules/ 23 | tmp/ 24 | temp/ 25 | hooks/ 26 | platforms/ 27 | plugins/ 28 | plugins/android.json 29 | plugins/ios.json 30 | www/ 31 | $RECYCLE.BIN/ 32 | 33 | .DS_Store 34 | Thumbs.db 35 | UserInterfaceState.xcuserstate 36 | -------------------------------------------------------------------------------- /src/app/app.module.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"app.module.js","sourceRoot":"","sources":["app.module.ts"],"names":[],"mappings":";;;;;;;;AAAA,8DAA0D;AAC1D,sCAAuD;AACvD,+CAAyE;AACzE,6DAA2D;AAC3D,uDAAqD;AAErD,iDAAwC;AACxC,2CAA8C;AAsB9C;IAAA;IAAwB,CAAC;IAAZ,SAAS;QApBrB,eAAQ,CAAC;YACR,YAAY,EAAE;gBACZ,qBAAK;gBACL,eAAQ;aACT;YACD,OAAO,EAAE;gBACP,gCAAa;gBACb,2BAAW,CAAC,OAAO,CAAC,qBAAK,CAAC;aAC3B;YACD,SAAS,EAAE,CAAC,wBAAQ,CAAC;YACrB,eAAe,EAAE;gBACf,qBAAK;gBACL,eAAQ;aACT;YACD,SAAS,EAAE;gBACT,sBAAS;gBACT,4BAAY;gBACZ,EAAC,OAAO,EAAE,mBAAY,EAAE,QAAQ,EAAE,iCAAiB,EAAC;aACrD;SACF,CAAC;OACW,SAAS,CAAG;IAAD,gBAAC;CAAA,AAAzB,IAAyB;AAAZ,8BAAS"} -------------------------------------------------------------------------------- /src/app/app.component.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"app.component.js","sourceRoot":"","sources":["app.component.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,sCAA0C;AAC1C,+CAAyC;AACzC,uDAAqD;AACrD,6DAA2D;AAE3D,2CAA8C;AAI9C;IAGE,eAAY,QAAkB,EAAE,SAAoB,EAAE,YAA0B;QAFhF,aAAQ,GAAO,eAAQ,CAAC;QAGtB,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC;YACpB,gEAAgE;YAChE,iEAAiE;YACjE,IAAI,QAAQ,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE;gBAC1B,SAAS,CAAC,YAAY,EAAE,CAAC;gBACzB,YAAY,CAAC,IAAI,EAAE,CAAC;aACrB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAZU,KAAK;QAHjB,gBAAS,CAAC;YACT,WAAW,EAAE,UAAU;SACxB,CAAC;yCAIsB,wBAAQ,EAAa,sBAAS,EAAgB,4BAAY;OAHrE,KAAK,CAajB;IAAD,YAAC;CAAA,AAbD,IAaC;AAbY,sBAAK"} -------------------------------------------------------------------------------- /api/.meteor/.finished-upgraders: -------------------------------------------------------------------------------- 1 | # This file contains information which helps Meteor properly upgrade your 2 | # app when you run 'meteor update'. You should check it into version control 3 | # with your project. 4 | 5 | notices-for-0.9.0 6 | notices-for-0.9.1 7 | 0.9.4-platform-file 8 | notices-for-facebook-graph-api-2 9 | 1.2.0-standard-minifiers-package 10 | 1.2.0-meteor-platform-split 11 | 1.2.0-cordova-changes 12 | 1.2.0-breaking-changes 13 | 1.3.0-split-minifiers-package 14 | 1.4.0-remove-old-dev-bundle-link 15 | 1.4.1-add-shell-server-package 16 | 1.4.3-split-account-service-packages 17 | 1.5-add-dynamic-import-package 18 | -------------------------------------------------------------------------------- /src/pages/details/details.scss: -------------------------------------------------------------------------------- 1 | .details-page-navbar { 2 | .page-title { 3 | color: #fff; 4 | } 5 | } 6 | 7 | .details-page-content { 8 | position: relative; 9 | 10 | .details-picture { 11 | width: 100%; 12 | max-height: 500px; 13 | } 14 | 15 | .switch-restaurant-btn { 16 | position: absolute; 17 | top: 50px; 18 | height: 100px; 19 | width: 30px; 20 | font-size: 30px; 21 | 22 | &.left { 23 | left: 10px; 24 | } 25 | &.right { 26 | right: 10px; 27 | } 28 | } 29 | 30 | .details-container { 31 | .details-title { 32 | font-size: 18px; 33 | } 34 | span { 35 | font-size: 14px; 36 | } 37 | } 38 | } -------------------------------------------------------------------------------- /src/declarations.d.ts: -------------------------------------------------------------------------------- 1 | /* 2 | Declaration files are how the Typescript compiler knows about the type information(or shape) of an object. 3 | They're what make intellisense work and make Typescript know all about your code. 4 | A wildcard module is declared below to allow third party libraries to be used in an app even if they don't 5 | provide their own type declarations. 6 | To learn more about using third party libraries in an Ionic app, check out the docs here: 7 | http://ionicframework.com/docs/v2/resources/third-party-libs/ 8 | For more info on type definition files, check out the Typescript docs here: 9 | https://www.typescriptlang.org/docs/handbook/declaration-files/introduction.html 10 | */ -------------------------------------------------------------------------------- /api/server/methods.ts: -------------------------------------------------------------------------------- 1 | import { Restaurants } from './collections/restaurants'; 2 | import { Restaurant } from './models'; 3 | 4 | Meteor.methods({ 5 | updateRestaurantDetails(restaurant: Restaurant) { 6 | const restaurantExists = !!Restaurants.collection.find(restaurant._id).count(); 7 | 8 | if (!restaurantExists) { 9 | throw new Meteor.Error('restaurant-not-exists', 10 | 'Restaurant doesn\'t exist'); 11 | } 12 | 13 | Restaurants.collection.update( 14 | { _id: restaurant._id }, 15 | { title: restaurant.title, 16 | description: restaurant.description, 17 | picture: restaurant.picture 18 | } 19 | ) 20 | 21 | return true; 22 | } 23 | }); -------------------------------------------------------------------------------- /api/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "allowSyntheticDefaultImports": true, 4 | "declaration": false, 5 | "emitDecoratorMetadata": true, 6 | "experimentalDecorators": true, 7 | "lib": [ 8 | "dom", 9 | "es2015" 10 | ], 11 | "module": "commonjs", 12 | "moduleResolution": "node", 13 | "sourceMap": true, 14 | "target": "es5", 15 | "skipLibCheck": true, 16 | "stripInternal": true, 17 | "noImplicitAny": false, 18 | "types": [ 19 | "@types/meteor" 20 | ] 21 | }, 22 | "exclude": [ 23 | "node_modules" 24 | ], 25 | "compileOnSave": false, 26 | "atom": { 27 | "rewriteTsconfig": false 28 | } 29 | } -------------------------------------------------------------------------------- /src/app/app.scss: -------------------------------------------------------------------------------- 1 | // http://ionicframework.com/docs/theming/ 2 | 3 | 4 | // App Global Sass 5 | // -------------------------------------------------- 6 | // Put style rules here that you want to apply globally. These 7 | // styles are for the entire app and not just one component. 8 | // Additionally, this file can be also used as an entry point 9 | // to import other Sass files to be included in the output CSS. 10 | // 11 | // Shared Sass variables, which can be used to adjust Ionic's 12 | // default Sass variables, belong in "theme/variables.scss". 13 | // 14 | // To declare rules for a specific mode, create a child rule 15 | // for the .md, .ios, or .wp mode classes. The mode class is 16 | // automatically applied to the element in the app. 17 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Hi there! It's a list of restaurants so I called it Restalist. 2 | 3 | To get started you chould firstly install packages via 'npm i' and then follow instructions. 4 | 5 | To run server: 6 | cd api/ 7 | meteor -p *your*.*local*.*IP*.*address*:3000 8 | 9 | To run front-end in browser: 10 | ionic serve 11 | 12 | 13 | To launch an app on Android follow insctuctions: 14 | 15 | 1. Install Gradle 16 | apt-get install gradle 17 | 18 | 2. Install (if needed) Android SDK and set ANDROID_HOME in ~/.bashrc: https://developer.android.com/studio/intro/update#sdk-manager 19 | 20 | 3. Add cordova platform 21 | cordova platform add android 22 | 23 | 4. Change address in 'meteor-client.config.json' to your local ip address 24 | 25 | 5. npm run meteor-client:bundle 26 | 27 | 6. cordova run android -------------------------------------------------------------------------------- /src/app/app.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | import { Platform } from 'ionic-angular'; 3 | import { StatusBar } from '@ionic-native/status-bar'; 4 | import { SplashScreen } from '@ionic-native/splash-screen'; 5 | 6 | import { ListPage } from '../pages/list/list'; 7 | 8 | @Component({ 9 | templateUrl: 'app.html' 10 | }) 11 | export class MyApp { 12 | rootPage:any = ListPage; 13 | 14 | constructor(platform: Platform, statusBar: StatusBar, splashScreen: SplashScreen) { 15 | platform.ready().then(() => { 16 | // Okay, so the platform is ready and our plugins are available. 17 | // Here you can do any higher level native things you might need. 18 | if (platform.is('cordova')) { 19 | statusBar.styleDefault(); 20 | splashScreen.hide(); 21 | } 22 | }); 23 | } 24 | } 25 | 26 | -------------------------------------------------------------------------------- /src/service-worker.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Check out https://googlechromelabs.github.io/sw-toolbox/ for 3 | * more info on how to use sw-toolbox to custom configure your service worker. 4 | */ 5 | 6 | 7 | 'use strict'; 8 | importScripts('./build/sw-toolbox.js'); 9 | 10 | self.toolbox.options.cache = { 11 | name: 'ionic-cache' 12 | }; 13 | 14 | // pre-cache our key assets 15 | self.toolbox.precache( 16 | [ 17 | './build/main.js', 18 | './build/vendor.js', 19 | './build/main.css', 20 | './build/polyfills.js', 21 | 'index.html', 22 | 'manifest.json' 23 | ] 24 | ); 25 | 26 | // dynamically cache any other local assets 27 | self.toolbox.router.any('/*', self.toolbox.fastest); 28 | 29 | // for any other requests go to the network, cache, 30 | // and then only use that cached resource if your user goes offline 31 | self.toolbox.router.default = self.toolbox.networkFirst; 32 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "allowSyntheticDefaultImports": true, 4 | "baseUrl": ".", 5 | "declaration": false, 6 | "emitDecoratorMetadata": true, 7 | "experimentalDecorators": true, 8 | "lib": [ 9 | "dom", 10 | "es2015" 11 | ], 12 | "module": "commonjs", 13 | "moduleResolution": "node", 14 | "paths": { 15 | "api/*": ["./api/server/*"] 16 | }, 17 | "sourceMap": true, 18 | "target": "es5", 19 | "skipLibCheck": true, 20 | "stripInternal": true, 21 | "noImplicitAny": false, 22 | "types": [ 23 | "@types/meteor" 24 | ] 25 | }, 26 | "include": [ 27 | "src/**/*.ts", 28 | "api/**/*.ts" 29 | ], 30 | "exclude": [ 31 | "node_modules", 32 | "api/node_modules", 33 | "api/node_modules/@types", 34 | "api" 35 | ], 36 | "compileOnSave": false, 37 | "atom": { 38 | "rewriteTsconfig": false 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/app/app.module.ts: -------------------------------------------------------------------------------- 1 | import { BrowserModule } from '@angular/platform-browser'; 2 | import { ErrorHandler, NgModule } from '@angular/core'; 3 | import { IonicApp, IonicErrorHandler, IonicModule } from 'ionic-angular'; 4 | import { SplashScreen } from '@ionic-native/splash-screen'; 5 | import { StatusBar } from '@ionic-native/status-bar'; 6 | 7 | import { MyApp } from './app.component'; 8 | import { ListPage } from '../pages/list/list'; 9 | import { DetailsPage } from '../pages/details/details'; 10 | 11 | @NgModule({ 12 | declarations: [ 13 | MyApp, 14 | ListPage, 15 | DetailsPage 16 | ], 17 | imports: [ 18 | BrowserModule, 19 | IonicModule.forRoot(MyApp) 20 | ], 21 | bootstrap: [IonicApp], 22 | entryComponents: [ 23 | MyApp, 24 | ListPage, 25 | DetailsPage 26 | ], 27 | providers: [ 28 | StatusBar, 29 | SplashScreen, 30 | {provide: ErrorHandler, useClass: IonicErrorHandler} 31 | ] 32 | }) 33 | export class AppModule {} 34 | -------------------------------------------------------------------------------- /src/pages/list/list.ts: -------------------------------------------------------------------------------- 1 | import { Component, OnInit } from '@angular/core'; 2 | import { Restaurants } from 'api/collections/restaurants'; 3 | import { Observable } from 'rxjs'; 4 | import { NavController } from 'ionic-angular'; 5 | 6 | import { DetailsPage } from '../details/details'; 7 | import { Restaurant } from 'api/models'; 8 | 9 | @Component({ 10 | templateUrl: 'list.html' 11 | }) 12 | export class ListPage implements OnInit { 13 | public restaurants; 14 | public searchKey: string 15 | 16 | constructor (private navCtrl: NavController) { 17 | } 18 | 19 | ngOnInit () { 20 | this.restaurants = Restaurants.find({}) 21 | } 22 | 23 | showRestaurantDetails (restaurant): void { 24 | let restaurants = this.restaurants.fetch(); 25 | 26 | this.navCtrl.push(DetailsPage, {restaurant, restaurants}); 27 | } 28 | 29 | onSearch(foo): void { 30 | let regex = new RegExp(this.searchKey); 31 | this.restaurants = Restaurants.find({ 32 | title: { $regex: regex, $options: 'i'}}); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /api/server/main.ts: -------------------------------------------------------------------------------- 1 | import { Meteor } from 'meteor/meteor'; 2 | import { Restaurants } from './collections/restaurants'; 3 | import { Restaurant } from './models'; 4 | 5 | Meteor.startup(() => { 6 | // code to run on server at startup 7 | if (Restaurants.find({}).cursor.count() === 0) { 8 | 9 | Restaurants.collection.insert({ 10 | title: 'La muraille du Phenix', 11 | picture: 'https://static4.pagesjaunes.fr/media/ugc/la_muraille_du_phenix_07505600_155717117?w=1500&h=800&crop=false', 12 | description: 'Un tres bon chinuase restaurant' 13 | }); 14 | 15 | Restaurants.collection.insert({ 16 | title: 'Bar Turystyczny', 17 | picture: 'https://pp.userapi.com/c841122/v841122354/358fe/FLsGi0n1T0o.jpg', 18 | description: 'Bardzo fajne mejsce' 19 | }); 20 | 21 | Restaurants.collection.insert({ 22 | title: 'LIDO', 23 | picture: 'http://dream-land.by/belarus/minsk/lido/images/body_7330.jpg', 24 | description: 'Velmi smachnaya ezha' 25 | }); 26 | }; 27 | }); 28 | -------------------------------------------------------------------------------- /src/pages/list/list.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | List 5 | 6 | 7 | 8 | 9 | 10 | 11 | 14 | 15 | 16 | 17 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /api/.meteor/packages: -------------------------------------------------------------------------------- 1 | # Meteor packages used by this project, one per line. 2 | # Check this file (and the other files in this directory) into your repository. 3 | # 4 | # 'meteor add' and 'meteor remove' will edit this file for you, 5 | # but you can also edit it by hand. 6 | 7 | meteor-base@1.2.0-rc.7 # Packages every Meteor app needs to have 8 | mobile-experience@1.0.5 # Packages for a great mobile UX 9 | mongo@1.3.0-rc.7 # The database Meteor supports right now 10 | blaze-html-templates@1.0.4 # Compile .html files into Meteor Blaze views 11 | reactive-var@1.0.11 # Reactive variable for tracker 12 | tracker@1.1.3 # Meteor's client-side reactive programming library 13 | 14 | standard-minifier-css@1.3.5 # CSS minifier run for production mode 15 | standard-minifier-js@2.2.0-rc.7 # JS minifier run for production mode 16 | es5-shim@4.6.15 # ECMAScript 5 compatibility for older browsers 17 | ecmascript@0.9.0-rc.7 # Enable ECMAScript2015+ syntax in app code 18 | shell-server@0.3.0-rc.7 # Server-side component of the `meteor shell` command 19 | 20 | autopublish@1.0.7 # Publish all data to the clients (for prototyping) 21 | insecure@1.0.7 # Allow all DB writes from clients (for prototyping) 22 | barbatus:typescript 23 | -------------------------------------------------------------------------------- /api/.meteor/versions: -------------------------------------------------------------------------------- 1 | allow-deny@1.1.0 2 | autopublish@1.0.7 3 | autoupdate@1.3.12 4 | babel-compiler@6.24.7 5 | babel-runtime@1.1.1 6 | barbatus:typescript@0.6.12 7 | barbatus:typescript-compiler@0.9.12 8 | barbatus:typescript-runtime@1.0.2 9 | base64@1.0.10 10 | binary-heap@1.0.10 11 | blaze@2.3.2 12 | blaze-html-templates@1.1.2 13 | blaze-tools@1.0.10 14 | boilerplate-generator@1.3.1 15 | caching-compiler@1.1.12 16 | caching-html-compiler@1.1.2 17 | callback-hook@1.0.10 18 | check@1.2.5 19 | ddp@1.4.0 20 | ddp-client@2.2.0 21 | ddp-common@1.3.0 22 | ddp-server@2.1.1 23 | deps@1.0.12 24 | diff-sequence@1.0.7 25 | dynamic-import@0.2.1 26 | ecmascript@0.9.0 27 | ecmascript-runtime@0.5.0 28 | ecmascript-runtime-client@0.5.0 29 | ecmascript-runtime-server@0.5.0 30 | ejson@1.1.0 31 | es5-shim@4.6.15 32 | geojson-utils@1.0.10 33 | hot-code-push@1.0.4 34 | html-tools@1.0.11 35 | htmljs@1.0.11 36 | http@1.3.0 37 | id-map@1.0.9 38 | insecure@1.0.7 39 | jquery@1.11.11 40 | launch-screen@1.1.1 41 | livedata@1.0.18 42 | logging@1.1.19 43 | meteor@1.8.6 44 | meteor-base@1.2.0 45 | minifier-css@1.2.16 46 | minifier-js@2.2.2 47 | minimongo@1.4.4 48 | mobile-experience@1.0.5 49 | mobile-status-bar@1.0.14 50 | modules@0.11.8 51 | modules-runtime@0.9.2 52 | mongo@1.3.1 53 | mongo-dev-server@1.1.0 54 | mongo-id@1.0.6 55 | npm-mongo@2.2.34 56 | observe-sequence@1.0.16 57 | ordered-dict@1.0.9 58 | promise@0.10.2 59 | random@1.0.10 60 | reactive-var@1.0.11 61 | reload@1.1.11 62 | retry@1.0.9 63 | routepolicy@1.0.12 64 | shell-server@0.3.1 65 | spacebars@1.0.15 66 | spacebars-compiler@1.1.3 67 | standard-minifier-css@1.3.5 68 | standard-minifier-js@2.2.3 69 | templating@1.3.2 70 | templating-compiler@1.3.3 71 | templating-runtime@1.3.2 72 | templating-tools@1.1.2 73 | tracker@1.1.3 74 | ui@1.0.13 75 | underscore@1.0.10 76 | url@1.1.0 77 | webapp@1.4.0 78 | webapp-hashing@1.0.9 79 | -------------------------------------------------------------------------------- /src/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Ionic App 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /src/app/app.component.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { 3 | var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 4 | if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 5 | else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; 6 | return c > 3 && r && Object.defineProperty(target, key, r), r; 7 | }; 8 | var __metadata = (this && this.__metadata) || function (k, v) { 9 | if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); 10 | }; 11 | Object.defineProperty(exports, "__esModule", { value: true }); 12 | var core_1 = require("@angular/core"); 13 | var ionic_angular_1 = require("ionic-angular"); 14 | var status_bar_1 = require("@ionic-native/status-bar"); 15 | var splash_screen_1 = require("@ionic-native/splash-screen"); 16 | var home_1 = require("../pages/home/home"); 17 | var MyApp = /** @class */ (function () { 18 | function MyApp(platform, statusBar, splashScreen) { 19 | this.rootPage = home_1.HomePage; 20 | platform.ready().then(function () { 21 | // Okay, so the platform is ready and our plugins are available. 22 | // Here you can do any higher level native things you might need. 23 | if (platform.is('cordova')) { 24 | statusBar.styleDefault(); 25 | splashScreen.hide(); 26 | } 27 | }); 28 | } 29 | MyApp = __decorate([ 30 | core_1.Component({ 31 | templateUrl: 'app.html' 32 | }), 33 | __metadata("design:paramtypes", [ionic_angular_1.Platform, status_bar_1.StatusBar, splash_screen_1.SplashScreen]) 34 | ], MyApp); 35 | return MyApp; 36 | }()); 37 | exports.MyApp = MyApp; 38 | //# sourceMappingURL=app.component.js.map -------------------------------------------------------------------------------- /src/pages/details/details.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Description 8 | 9 | 10 | 11 | 12 | 13 | 17 | 21 | 22 | 23 | 24 | 27 | 28 | 29 | 30 | 33 | 34 | 35 | 36 | 38 | 39 | 40 | 41 | 44 | 47 | 50 | 51 | -------------------------------------------------------------------------------- /src/app/app.module.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { 3 | var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 4 | if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 5 | else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; 6 | return c > 3 && r && Object.defineProperty(target, key, r), r; 7 | }; 8 | Object.defineProperty(exports, "__esModule", { value: true }); 9 | var platform_browser_1 = require("@angular/platform-browser"); 10 | var core_1 = require("@angular/core"); 11 | var ionic_angular_1 = require("ionic-angular"); 12 | var splash_screen_1 = require("@ionic-native/splash-screen"); 13 | var status_bar_1 = require("@ionic-native/status-bar"); 14 | var app_component_1 = require("./app.component"); 15 | var home_1 = require("../pages/home/home"); 16 | var AppModule = /** @class */ (function () { 17 | function AppModule() { 18 | } 19 | AppModule = __decorate([ 20 | core_1.NgModule({ 21 | declarations: [ 22 | app_component_1.MyApp, 23 | home_1.HomePage 24 | ], 25 | imports: [ 26 | platform_browser_1.BrowserModule, 27 | ionic_angular_1.IonicModule.forRoot(app_component_1.MyApp) 28 | ], 29 | bootstrap: [ionic_angular_1.IonicApp], 30 | entryComponents: [ 31 | app_component_1.MyApp, 32 | home_1.HomePage 33 | ], 34 | providers: [ 35 | status_bar_1.StatusBar, 36 | splash_screen_1.SplashScreen, 37 | { provide: core_1.ErrorHandler, useClass: ionic_angular_1.IonicErrorHandler } 38 | ] 39 | }) 40 | ], AppModule); 41 | return AppModule; 42 | }()); 43 | exports.AppModule = AppModule; 44 | //# sourceMappingURL=app.module.js.map -------------------------------------------------------------------------------- /src/pages/details/details.ts: -------------------------------------------------------------------------------- 1 | import { MeteorObservable } from 'meteor-rxjs'; 2 | import { Restaurants } from 'api/collections/restaurants'; 3 | 4 | import { Component, ChangeDetectorRef } from '@angular/core'; 5 | import { NavParams } from 'ionic-angular'; 6 | import { Restaurant } from 'api/models' 7 | 8 | @Component({ 9 | selector: 'details-page', 10 | templateUrl: `details.html` 11 | }) 12 | export class DetailsPage { 13 | selectedRestaurant: Restaurant; 14 | restaurants: Restaurant[]; 15 | title: string; 16 | picture: string; 17 | description: string; 18 | isEditing: boolean; 19 | 20 | constructor (private navParams: NavParams, 21 | private cdr: ChangeDetectorRef) { 22 | this.selectedRestaurant = navParams.get('restaurant'); 23 | this.restaurants = navParams.get('restaurants'); 24 | this.resetData(); 25 | } 26 | 27 | public saveChangedDetails (): void { 28 | if (!this.isChanged()) return; 29 | 30 | let restaurant = { 31 | _id: this.selectedRestaurant._id, 32 | title: this.title, 33 | picture: this.picture, 34 | description: this.description 35 | }; 36 | 37 | MeteorObservable.call('updateRestaurantDetails', 38 | restaurant 39 | ).subscribe((result) => { 40 | this.isEditing = false; 41 | }); 42 | } 43 | 44 | public switchToPrevious () { 45 | for (let i=0; i 2 | 3 | restalist 4 | An awesome Ionic/Cordova app. 5 | Ionic Framework Team 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | --------------------------------------------------------------------------------