Giter VIP home page Giter VIP logo

ionic-pullup's Introduction

ionic-pullup for Ionic 6 and Angular 14

A pull-up footer component for Ionic. The pull-up footer is a UI component built on top of Ionic's footer and offers an efficient way to hide/reveal information. The footer can fully expand to cover the content area of the screen or can be configured to expand to a maximum height. The component will compute the available screen height providing for header and tabs.

demo.mov

See demo page

Usage

  1. Install from NPM

    npm install ionic-pullup@latest hammerjs @types/hammerjs
    
  2. Import IonicPullupModule in page module

    import { IonicPullupModule } from 'ionic-pullup';
    
    @NgModule({
    imports: [
        IonicModule,
        CommonModule,
        ...
        IonicPullupModule
    ]
    })
    export class MyPageModule {}
  3. Add component to page template

    Add a lib-ionic-pullup element after the template's ion-content element (if any).

    Declare a two-way binding state to control component states collapsed or expanded. Use a function to toggle states such as toggleFooter() in the example below.

    Mark elements in the template that should respond to drag events with the #ionDragFooter template variable.

    Use optional parameters toolbarTopMargin to set a top boundary (margin) for the footer to expand, and minBottomVisible to set a footer area to be always visible (minimum).

    Finally, use onExpand and onCollapse events to capture footer events if required.

    <ion-header>
        <ion-toolbar>
            <ion-title>
            Home
            </ion-title>
        </ion-toolbar>
    </ion-header>
    
    <ion-content>
        ...home page content...
    </ion-content>
    
    <lib-ionic-pullup (onExpand)="footerExpanded()" (onCollapse)="footerCollapsed()" [(state)]="footerState" [toolbarTopMargin]="100" [minBottomVisible]="200">
    
    <ion-toolbar color="light" (click)="toggleFooter()" #ionDragFooter>
        <ion-title>Tap or drag</ion-title>
    </ion-toolbar>
    <ion-content>        
        ...scrollable content within footer...
    </ion-content>
    </lib-ionic-pullup>
  4. Declare initial state in page component

    import { Component, OnInit } from '@angular/core';
    import { IonPullUpFooterState} from 'ionic-pullup';
    
    @Component({
    selector: 'app-home',
    templateUrl: 'home.page.html',
    styleUrls: ['home.page.scss']
    })
    export class HomePage implements OnInit {
        footerState: IonPullUpFooterState;
    
        constructor() {}
    
        ngOnInit() {
            this.footerState = IonPullUpFooterState.Collapsed;
        }
    
        // optional capture events
        footerExpanded() {
            console.log('Footer expanded!');
        }
    
        // optional capture events
        footerCollapsed() {
            console.log('Footer collapsed!');
        }
    
        // toggle footer states
        toggleFooter() {
            this.footerState = this.footerState === IonPullUpFooterState.Collapsed ? IonPullUpFooterState.Expanded : IonPullUpFooterState.Collapsed;
        }
    
        }
        ```
    
    

ionic-pullup's People

Contributors

arielfaur avatar chrux avatar justin-newman avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ionic-pullup's Issues

Angular 11+ support

Hello,

Any plans to update this package to support Angular 11+

Best regards

'state' not a known property of 'ion-pullup'.

I'm getting the following error on Android (I haven't tested it out on iOS yet):

Can't bind to 'state' since it isn't a known property of 'ion-pullup'.

I had all of this working, and I'm trying to figure out what I changed. Any thoughts? Thanks.

Cordova CLI: 6.5.0
Ionic Framework Version: 3.0.1
Ionic CLI Version: 2.2.3
Ionic App Lib Version: 2.2.1
Ionic App Scripts Version: 1.3.0
ios-deploy version: 1.9.1
ios-sim version: 3.0.0
OS: macOS Sierra
Node Version: v6.9.4
Xcode version: Xcode 8.3.3 Build version 8E3004b

Pullup over navbar

Hello,
I recently updated my iphone and I got an issue I didn't have before on IOS 9.3.2.
When I tap on the pullup item it goes beyond where it supposed to go, see the screenshot.

It's happening only on IOS, not Android though... Shall I play with max-height for a workaround?

Thanks !
img_9667

Customizing height of collapsed block

I am using pullup in ionic 2, and I need to customize block height in collapsed state - visible part of pullup block should be smaller. How can I do it? Is it real to make with any pullup settings, such as setting height for all block dynamically, that I'm using too?

How to set height dynamically

I am using it in ionic 2 , everything works fine . but at one page i need to set it to half page of the screen . How is it possible . I was able to achieve partially by removing ion-content and placing the ion-grid . nothing seems to be perfect . any idea ?

pull up go beyong the tab bar

Hi,
I have a totally random issue with is coming when I click on the footer pullup. It is expanding most of the time correctly but it happens that it may go beyond the tab menu which make me impossible to collapse it afterwards.

Anyone has experienced the same thing?

Thanks

ionic-content is cut off by ion-navbar

I've placed after the in the example project's "item-details.html" page. This results in the text within being cut off by the ionic navbar. I've installed Crosswalk, and still encounter this issue.

If I take out the that's inside , the issue goes away, but then you can't add anything beyond the and within .

ion-infinite-scroll conflicts with ion-pullup

Ionic 2.2.1.
I am using a ion-pullup in a pageComponent and is working perfect. When I try implement an ion-infinite-scroll the ion-pullup continue working perfect, but the ion-infinite-scroll not work. If i disable the ion-pullup the infinite-scroll work perfect.
Maybe there are some overwritten code on ionic-pullup?.

pullup over segment

Hi ,

I have pullup over segment on top of my windows.
When i click on footer when extend it's also click the segment
button is below.

Any idea ?

Thx

Android 4.1.1 content display issue

Hi,
somehow for Android 4.1.1, content is not showing except if a ion content is placed in the ion-pull-up content but the display is not really great...
Also at the bottom the the pull up is collapsed, only the arrow is shown, not the css component.

Thanks

Bottom position calculation messed up when directive used in different views

Hi!
I have the following problem. My app has several different views where some have an additional header, and others don't.
Using the exact same code from the examples page, I'm getting different results. The ion-pull-up-footer bottom style is messed up depending on which page I visit first. Sometimes the footer get hidden far beyond sight, or gets a margin below the handle, or doesn't show the ion-pull-up-bar title when collapsed.

Is there any way of setting this value depending on the real height of the ion-view as the base value (and then substracting the handle and title heights)?

Tried to edit the plugin myself but I ended screwing everything even more :(
Hope you can help or give me an advice.

Best regards.

SwipeUp and swipeDown

Hi ... !! Thanks for share this work :)

I have a questions, why can I use swipeLeft and swipeRight on element and the others not? and if the other options are blocked How can I remove it?

My idea is just detect the SwipeUp and swipeDown to set the new this.footerState value.

Thakns.

[maxHeight] property not working.

What iam doing wrong? Ionic 4 Version

HTML
<lib-ionic-pullup (onExpand)="footerExpanded()" (onCollapse)="footerCollapsed()" [(state)]="footerState"
[toolbarTopMargin]="100" [minBottomVisible]="200" [maxHeight]="getMaximumHeight()">

TS
getMaximumHeight() {
return window.innerHeight / 2;
}

my content still fills the entire screen

ion-pullup-tab swipper is not working

Great job!
I implemented ionic-pullup into my ionic 2 v2.2.1 application, but the ion-pullup-tab swipper is not working. I tested in android physical device, emulators and browser. Any idea why is not working?
Thanks!!

Not Stick to bottom

Hi there, I'm new in Ionic 3 & trying to use this repo in my project but it shows some gap from bottom, Please check screen Shots.

Nexus 5x:

localhost_8100_ nexus 5x

Iphone 6:

localhost_8100_ iphone 6 2

Am I doing something wrong or is this a bug, Any help would be appreciated. Thanks

Pullup over <ion-tabs>

Hi all,
Can someone please help me with adding ionic-pullup over ion-tabs. I have a tabs layout with tabs at the bottom. and I have to show the pullup over the tabs and toggle when a backdrop is clicked. Currently the pullup goes behind the ion-tabs element.

Unable to assign dynamic value to [toolbarTopMargin] property

Screenshot from 2020-10-21 15-28-28

Hello,
Receiving above error when trying to assign a dynamic value to a [toolbarTopMargin] property.
Code in question:
1.html
<lib-ionic-pullup (onExpand)="footerExpanded()" (onCollapse)="footerCollapsed()" [(state)]="footerState"
[minBottomVisible]="minHeight" [toolbarTopMargin]="toolbarMargin">

1.ts
ngAfterViewInit() {
setTimeout(() => {
const contentHeight = document.querySelector('app-payment-popup').clientHeight;
this.width_ele = this.contentData.nativeElement.offsetHeight;
if (this.width_ele) {
this.toolbarMargin = contentHeight - this.width_ele;
console.log(this.toolbarMargin);
}
}, 300);
}

Can someone please explain above error and a quick solution to solve above issue.
New to ionic pullup
Thanks

Not a known element

I use the latest version of release 4 (installed via: npm i [email protected])

But i always get the error:

'lib-ionic-pullup' is not a known element:
1. If 'lib-ionic-pullup' is an Angular component, then verify that it is part of this module.
2. If 'lib-ionic-pullup' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
  </ng-container>
</ion-content>

So i guess something is wrong with the module registration. But i double checked it and it seems to be right in my opinion:
in the app.module.ts i added the import:
import {IonicPullupModule} from 'ionic-pullup';

and then:

@NgModule({
     declarations: [ .... ],
     entryComponents: [ .... ],
     imports: [
     ....
     IonicPullupModule
  ],
  exports: [TranslateModule],
  providers: [ .... ] ,
  ....
})
export class AppModule {}

Can't use the latest version cause of angular 7 i guess? Cause i'm getting the following error:
ERROR in node_modules/ionic-pullup/lib/ionic-pullup.component.d.ts(80,9): error TS1086: An accessor cannot be declared in an ambient context.

I also tried to isntall the latest 3.0.1 Version and did some changes on the module (mainly only the imports for the ionic-angular.. (changed to @ionic/angular). Then the app build without errors but still getting the same issue but with the other component ion-pullup which was used in this version.

What i also checked was the ionic-pullup.metadata.json file. There is definitely a selector for the pullup component defined:
.... ,"arguments":[{"selector":"lib-ionic-pullup","changeDetect ....

I am using the pullup component only on one page where i also added the import of the footer state:
import { IonPullUpFooterState } from 'ionic-pullup';

so any idea what i can do to get it working?

also here my ionic info:


Ionic:

   Ionic CLI                     : 6.16.3 (C:\Users\xxxxxxxxxxxx\AppData\Roaming\npm\node_modules\@ionic\cli)
   Ionic Framework               : @ionic/angular 4.11.3
   @angular-devkit/build-angular : 0.13.9
   @angular-devkit/schematics    : 7.2.4
   @angular/cli                  : 7.3.9
   @ionic/angular-toolkit        : 1.4.1

Cordova:

   Cordova CLI       : 10.0.0
   Cordova Platforms : android 9.0.0
   Cordova Plugins   : cordova-plugin-ionic-keyboard 2.2.0, cordova-plugin-ionic-webview 5.0.0, (and 29 other plugins)

Utility:

   cordova-res : not installed globally
   native-run  : 1.4.0

System:

   NodeJS : v14.17.3 (C:\Program Files\nodejs\node.exe)
   npm    : 6.14.13
   OS     : Windows 10

magnifying glass callout appears on iOS

Hello, I am facing an issue where if you long press on any area in the pullup window (but not inside the list inside the content), a callout window appears.

Here is a screenshot

I tried adding
<div style="-webkit-user-select:none;-webkit-user-callout:none">
around the pullup call, but that did not help either

img_2329

production build error on latest ionic

ionic info:

Your system information:

Cordova CLI: 6.5.0
Ionic CLI Version: 2.2.1
Ionic App Lib Version: 2.2.0
ios-deploy version: 1.9.0
ios-sim version: 5.0.8
OS: macOS Sierra
Node Version: v7.7.3
Xcode version: Xcode 8.2.1 Build version 8C1002

step to reproduce:


1. ionic start pullup blank --v2
2. cd pullup
3. npm install ionic-pullup
4. edit app.module.ts to include IonPullupModule
5. ionic serve
6. ionic build ios --prod
7. (same error when in android platform)

Error messages:

[06:01:10]  ionic-app-scripts 1.1.4
[06:01:10]  build prod started ...
[06:01:10]  clean started ...
[06:01:10]  clean finished in 3 ms
[06:01:10]  copy started ...
[06:01:10]  ngc started ...
[06:01:15]  build prod failed: Error encountered resolving symbol values statically. **Calling function
            'makeParamDecorator', function calls are not supported**. Consider replacing the function or lambda with a
            reference to an exported function, resolving symbol Injectable in
            /Users/USER/Documents/ionic/pullup/node_modules/ionic-pullup/node_modules/@angular/core/src/di/metadata.d.ts,
            resolving symbol OpaqueToken in
            /Users/USER/Documents/ionic/pullup/node_modules/ionic-pullup/node_modules/@angular/core/src/di/opaque_token.d.ts,
            resolving symbol OpaqueToken in
            /Users/USER/Documents/ionic/pullup/node_modules/ionic-pullup/node_modules/@angular/core/src/di/opaque_token.d.ts
[06:01:15]  ionic-app-script task: "build"
[06:01:15]  Error: Error encountered resolving symbol values statically. Calling function 'makeParamDecorator', function
            calls are not supported. Consider replacing the function or lambda with a reference to an exported function,
            resolving symbol Injectable in
            /Users/USER/Documents/ionic/pullup/node_modules/ionic-pullup/node_modules/@angular/core/src/di/metadata.d.ts,
            resolving symbol OpaqueToken in
            /Users/USER/Documents/ionic/pullup/node_modules/ionic-pullup/node_modules/@angular/core/src/di/opaque_token.d.ts,
            resolving symbol OpaqueToken in
            /Users/USER/Documents/ionic/pullup/node_modules/ionic-pullup/node_modules/@angular/core/src/di/opaque_token.d.ts
Error: Error encountered resolving symbol values statically. Calling function 'makeParamDecorator', function calls are not supported. Consider replacing the function or lambda with a reference to an exported function, resolving symbol Injectable in /Users/USER/Documents/ionic/pullup/node_modules/ionic-pullup/node_modules/@angular/core/src/di/metadata.d.ts, resolving symbol OpaqueToken in /Users/USER/Documents/ionic/pullup/node_modules/ionic-pullup/node_modules/@angular/core/src/di/opaque_token.d.ts, resolving symbol OpaqueToken in /Users/USER/Documents/ionic/pullup/node_modules/ionic-pullup/node_modules/@angular/core/src/di/opaque_token.d.ts
    at SyntaxError.BaseError [as constructor] (/Users/USER/Documents/ionic/pullup/node_modules/@angular/compiler/bundles/compiler.umd.js:1597:31)
    at new SyntaxError (/Users/USER/Documents/ionic/pullup/node_modules/@angular/compiler/bundles/compiler.umd.js:1795:20)
    at simplifyInContext (/Users/USER/Documents/ionic/pullup/node_modules/@angular/compiler/bundles/compiler.umd.js:25783:27)
    at StaticReflector.simplify (/Users/USER/Documents/ionic/pullup/node_modules/@angular/compiler/bundles/compiler.umd.js:25795:17)
    at StaticReflector.annotations (/Users/USER/Documents/ionic/pullup/node_modules/@angular/compiler/bundles/compiler.umd.js:25291:64)
    at NgModuleResolver.resolve (/Users/USER/Documents/ionic/pullup/node_modules/@angular/compiler/bundles/compiler.umd.js:17771:86)
    at CompileMetadataResolver.getNgModuleMetadata (/Users/USER/Documents/ionic/pullup/node_modules/@angular/compiler/bundles/compiler.umd.js:18272:64)
    at addNgModule (/Users/USER/Documents/ionic/pullup/node_modules/@angular/compiler/bundles/compiler.umd.js:25053:62)
    at /Users/USER/Documents/ionic/pullup/node_modules/@angular/compiler/bundles/compiler.umd.js:25064:18
    at Array.forEach (native)

package.json content:

{
  "name": "ionic-hello-world",
  "author": "Ionic Framework",
  "homepage": "http://ionicframework.com/",
  "private": true,
  "scripts": {
    "clean": "ionic-app-scripts clean",
    "build": "ionic-app-scripts build",
    "ionic:build": "ionic-app-scripts build",
    "ionic:serve": "ionic-app-scripts serve"
  },
  "dependencies": {
    "@angular/common": "2.4.8",
    "@angular/compiler": "2.4.8",
    "@angular/compiler-cli": "2.4.8",
    "@angular/core": "2.4.8",
    "@angular/forms": "2.4.8",
    "@angular/http": "2.4.8",
    "@angular/platform-browser": "2.4.8",
    "@angular/platform-browser-dynamic": "2.4.8",
    "@angular/platform-server": "2.4.8",
    "@ionic-native/core": "3.1.0",
    "@ionic-native/splash-screen": "3.1.0",
    "@ionic-native/status-bar": "3.1.0",
    "@ionic/storage": "2.0.0",
    "ionic-angular": "2.2.0",
    "ionicons": "3.0.0",
    "rxjs": "5.0.1",
    "sw-toolbox": "3.4.0",
    "zone.js": "0.7.2"
  },
  "devDependencies": {
    "@ionic/app-scripts": "1.1.4",
    "typescript": "2.0.9"
  },
  "cordovaPlugins": [
    "cordova-plugin-whitelist",
    "cordova-plugin-statusbar",
    "cordova-plugin-console",
    "cordova-plugin-device",
    "cordova-plugin-splashscreen",
    "ionic-plugin-keyboard"
  ],
  "cordovaPlatforms": [
    "ios",
    {
      "platform": "ios",
      "version": "",
      "locator": "ios"
    }
  ],
  "description": "pullup: An Ionic project"
}

build --dev on latest ionic is fine, no error whatsoever.

Can't import module

Hi, I see you have the ionic-pullup folder in the app folder, but installed mine into node_modules and can't resolve path to import it into project. Any suggestions?

Thanks.

Dynamic [minBottomVisible] causes "changes.state is undefined"

Hi,

I'm trying to make a dynamic pullup that will fit (in collapsed state) the remaining space after an img's src has loaded (it can take at least a few seconds). Currently I'm simply assigning minBottomVisible to a variable that changes when load event of img is fired.

HTML

<ion-content id="content-img">
  <div height="70%" id="imgDiv" #img>
    <img height="100%" [src]="this.imgSrc" (load)="ImgHasLoaded()">
  </div>
</ion-content>
<lib-ionic-pullup (onExpand)="footerExpanded()" (onCollapse)="footerCollapsed()" [(state)]="footerState"
  [toolbarTopMargin]="100" [minBottomVisible]="this.height">
  <ion-toolbar id="toolbar-pullup" (click)="toggleFooter()">
    <div class="handle">
      <div class="bar">
      </div>
    </div>
  </ion-toolbar>
  <ion-content>
  </ion-content>
</lib-ionic-pullup>
height = 150;
footerState: IonPullUpFooterState;
constructor(){
    this.footerState = IonPullUpFooterState.Collapsed;
}
ImgHasLoaded(){
    this.height = window.innerHeight - this.img.nativeElement.clientHeight
}

Unfortunately, it causes an error:

ERROR TypeError: "changes.state is undefined"
@ ngOnChanges ionic-pullup.js:357

Any ideas ?

Version is ionic/angular 5.1.0

Restricting gestures

Hello and thanks for a great plugin!

I've experienced that the pullup-bar some times goes too far down when using gestures, which makes it impossible to retrieve. Is there any way to reset the bar-placement? The view the bar resides in will almost never be refreshed, so I was hoping I could control this programatically, but so far I haven't found anything.

Drag event not working?

Hi,

Can anyone confirm whether the drag event is working with this plugin?

I'm using ionic-pullup for Ionic 2 and Angular 2. When I build the demo project for ionic-pullup and run it on an android phone I cannot drag the footer up - it only responds to the tap event.

The codepen demos clearly show the drag event working for an earlier version of this plugin:
http://arielfaur.github.io/ionic-pullup/index.v1.html

Many thanks,
George

Solving the "flickering" problem while changing orientation

@arielfaur, the reason that flickering is happening when we change orientation is that the "300ms ease-in out" transition is still in effect. The solution might be to make that transition "none" during orientation change and re-enable it on expand. I'll submit a PR with this code for you to look at. It works on my iOS and Android device and seems to eliminate the flickering problem

new release on bower

Hi @arielfaur ,
it's a been a while since last release, and some interesting features has been added since then.
A new release would be cool so we can checkout the latest things directly from bower.

best regards

Mauro

Info

Hi can I manage [minBottomVisible]="512" with css or scss

Allows expressions to max-height

A useful feature would be to be able to add an expression to maxHeight. Since it is an attribute, expressions don't get evaluated

IOS do not expand since last release

HI team,
since the last release, I'm not able to expand the pullup on IOS only.
Here is my code:

<ion-pull-up-footer class="bar-calm" on-expand="footerExpand()" on-collapse="footerCollapse()" on-minimize="footerCollapse()" initial-state="minimized" state="footerState" style="z-index:0"> <ion-pull-up-handle width="100" height="25" icon-expand="ion-chevron-up" icon-collapse="ion-chevron-down" style="border-radius: 25px 25px 0 0"> <!--; border-top: solid 1px #888--> <!--<i class="icon ion-chevron-up"></i>--> </ion-pull-up-handle>

Customizing SCSS

Hi, thanks for this excellent library. You have a small note on your project page that says we can easily customize SCSS. Where do I customize it? I tried adding my own SCSS values in variables.scss but those changes were not reflected. I'd prefer not to modify node_modules/ionic-pullup/dist/ion-pullup.scss as that will get overwritten if I npm install again.

Thanks

Example:


$tabHeight:           18;                             // tab height, set to 0px if there is no tab
$tabRadius:           4px;                             // tab radius
$tabBackground:   color($colors, secondary, base);    // tab background color
$tabIconColor:      white;                            // icon color within tab
$tabShadow:         none                             // shadow color

Feature Request - Pull Down?

I thought it'd be cool to have two together on a page, one ionic-pullup like now and ionic-pulldown from the top to bottom.
Any thoughts on doing such?

Ion-pull-tab not getting detected when app release in production mode

Hi,
Thank for making such and awesome plugin :D .
I am facing an issue when i release my app in production mode. i get and error sayin ion-pull-tab not found in all platform(ios and and android). Can u please help with this.. the is about to release but we are facing this issue.. can u help asap in this would be helpful ionic v 3.9.2

Occasional problem with height

Hello, first off, thank you for this lovely plugin. I am facing an occasional problem with height calculation -- once in a while and very randomly, the pullup bar when tapped goes beyond the height of the content window. I have not specified a max-height and according to your code, it auto calculates the height -- what is confusing me is that it only happens once in a while - and I can't seem to predict when and I don't see an error

To try and fix, I forced a "-20" to your computation (see my version at https://github.com/pliablepixels/zmNinja/blob/master/www/external/ion-pullup.js#L48) - while that reduces the number of times it goes beyond the content-height it still happens. I'm quite confused why

Platform: iOS9, iphone 5

If it helps, here is how I am using your pullup
https://github.com/pliablepixels/zmNinja/blob/master/www/templates/events.html#L190

Thanks again for any insight.

Ionic Pull-Down Header

Hi my friend!

What do you think to create an Ionic Pull-Down Header to Android? For example to simulate the same functionality like this plugin, but from up to down using headers?

Thanks in advance, Nicholls

Trigger it !

Hi! I have a situation like this, how to achieve it?

window.socket.on('new action',function(data){
   //// expand pull up
});

initial flicker

Hi,
I noticed that at the initialization of the ui, the footer bar seems to "flicker" and doing a transition before stabilizing to initial height.
This is visible also in the demo page.

Maybe I found a quick fix, I'm going to open a PR in a moment

Autoclose

The documentation says nothing about close/collapse method. How can i collapse the panel based on an method call from my controller.

footerState not working inside a Modal

The footerState is not working inside a Modal. Any idea how to get around this?

Inside the Modal, the directive 'ion-pull-up-trigger' on the ion-pullup-bar works fine. Have it going up and down. Just can't implement footerState on content elsewhere.
screen shot 2016-04-24 at 8 52 48 pm

Cheers

Collapse in code?

Sorry if this is a simpleton question, but I'm trying to collapse the bar after the user hits a button within the content of the pull-up bar. Is there a way to do that cleanly within my function?

Can't bind to 'footer' since it isn't a known property of 'ion-pullup-tab'.

Hey I'm attempting to use this and receiving the following error:

Unhandled Promise rejection: Template parse errors:
Can't bind to 'footer' since it isn't a known property of 'ion-pullup-tab'.

HTML:

<ion-pullup (onExpand)="footerExpanded()" (onCollapse)="footerCollapsed()" [(state)]="footerState">
    <ion-pullup-tab [footer]="pullup" (tap)="toggleFooter()">
      <ion-icon name="arrow-up" *ngIf="footerState == 0"></ion-icon><ion-icon name="arrow-down" *ngIf="footerState == 1"></ion-icon>
    </ion-pullup-tab>
    <ion-toolbar color="primary" (tap)="toggleFooter()">
      <ion-title>Footer</ion-title>
    </ion-toolbar>
    <ion-content>
    ... FOOTER CONTENT ...
    </ion-content>
  </ion-pullup>

TS:

import { IonPullUpFooterState } from 'ionic-pullup';
footerState: IonPullUpFooterState;

  constructor() {
    this.footerState = IonPullUpFooterState.Collapsed;
  }

 footerExpanded() {
    console.log('Footer expanded!');
  }

  footerCollapsed() {
    console.log('Footer collapsed!');
  }

  toggleFooter() {
    this.footerState = this.footerState == IonPullUpFooterState.Collapsed ? IonPullUpFooterState.Expanded : IonPullUpFooterState.Collapsed;
  }

Ionic info:

global packages:

    @ionic/cli-utils : 1.5.0
    Cordova CLI      : 7.0.1
    Ionic CLI        : 3.5.0

local packages:

    @ionic/app-scripts              : 2.0.2
    @ionic/cli-plugin-cordova       : 1.4.1
    @ionic/cli-plugin-ionic-angular : 1.3.2
    Cordova Platforms               : android 6.2.3
    Ionic Framework                 : ionic-angular 3.5.0

System:

    Node       : v6.10.3
    OS         : Windows 10
    Xcode      : not installed
    ios-deploy : not installed
    ios-sim    : not installed
    npm        : 4.6.1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.