mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
Bounce the popup tips again when you click submit button again
This commit is contained in:
parent
1879176e80
commit
8b0b77c161
@ -41,9 +41,9 @@ Discourse.ComposerController = Discourse.Controller.extend({
|
|||||||
composer = this.get('content');
|
composer = this.get('content');
|
||||||
|
|
||||||
if( composer.get('cantSubmitPost') ) {
|
if( composer.get('cantSubmitPost') ) {
|
||||||
this.set('view.showTitleTip', true);
|
this.set('view.showTitleTip', Date.now());
|
||||||
this.set('view.showCategoryTip', true);
|
this.set('view.showCategoryTip', Date.now());
|
||||||
this.set('view.showReplyTip', true);
|
this.set('view.showReplyTip', Date.now());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -35,13 +35,13 @@
|
|||||||
|
|
||||||
<div class="title-input">
|
<div class="title-input">
|
||||||
{{textField value=content.title tabindex="2" id="reply-title" maxlength="255" class="span8" placeholderKey="composer.title_placeholder"}}
|
{{textField value=content.title tabindex="2" id="reply-title" maxlength="255" class="span8" placeholderKey="composer.title_placeholder"}}
|
||||||
{{popupInputTip validation=view.titleValidation show=view.showTitleTip}}
|
{{popupInputTip validation=view.titleValidation shownAt=view.showTitleTip}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{#unless content.creatingPrivateMessage}}
|
{{#unless content.creatingPrivateMessage}}
|
||||||
<div class="category-input">
|
<div class="category-input">
|
||||||
{{view Discourse.ComboboxViewCategory valueAttribute="name" contentBinding="categories" valueBinding="content.categoryName" showUncategorized="true"}}
|
{{view Discourse.ComboboxViewCategory valueAttribute="name" contentBinding="categories" valueBinding="content.categoryName" showUncategorized="true"}}
|
||||||
{{popupInputTip validation=view.categoryValidation show=view.showCategoryTip}}
|
{{popupInputTip validation=view.categoryValidation shownAt=view.showCategoryTip}}
|
||||||
</div>
|
</div>
|
||||||
{{#if content.archetype.hasOptions}}
|
{{#if content.archetype.hasOptions}}
|
||||||
<button class='btn' {{action showOptions}}>{{i18n topic.options}}</button>
|
<button class='btn' {{action showOptions}}>{{i18n topic.options}}</button>
|
||||||
@ -61,7 +61,7 @@
|
|||||||
<div class='textarea-wrapper'>
|
<div class='textarea-wrapper'>
|
||||||
<div class='wmd-button-bar' id='wmd-button-bar'></div>
|
<div class='wmd-button-bar' id='wmd-button-bar'></div>
|
||||||
{{view Discourse.NotifyingTextArea parentBinding="view" tabindex="3" valueBinding="content.reply" id="wmd-input" placeholderKey="composer.reply_placeholder"}}
|
{{view Discourse.NotifyingTextArea parentBinding="view" tabindex="3" valueBinding="content.reply" id="wmd-input" placeholderKey="composer.reply_placeholder"}}
|
||||||
{{popupInputTip validation=view.replyValidation show=view.showReplyTip}}
|
{{popupInputTip validation=view.replyValidation shownAt=view.showReplyTip}}
|
||||||
</div>
|
</div>
|
||||||
<div class='preview-wrapper'>
|
<div class='preview-wrapper'>
|
||||||
<div id='wmd-preview' {{bindAttr class="hidePreview:hidden"}}></div>
|
<div id='wmd-preview' {{bindAttr class="hidePreview:hidden"}}></div>
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
**/
|
**/
|
||||||
Discourse.PopupInputTipView = Discourse.View.extend({
|
Discourse.PopupInputTipView = Discourse.View.extend({
|
||||||
templateName: 'popup_input_tip',
|
templateName: 'popup_input_tip',
|
||||||
classNameBindings: [':popup-tip', 'good', 'bad', 'show::hide'],
|
classNameBindings: [':popup-tip', 'good', 'bad', 'shownAt::hide'],
|
||||||
animateAttribute: null,
|
animateAttribute: null,
|
||||||
bouncePixels: 6,
|
bouncePixels: 6,
|
||||||
bounceDelay: 100,
|
bounceDelay: 100,
|
||||||
@ -26,20 +26,22 @@ Discourse.PopupInputTipView = Discourse.View.extend({
|
|||||||
}.property('validation'),
|
}.property('validation'),
|
||||||
|
|
||||||
hide: function() {
|
hide: function() {
|
||||||
this.set('show', false);
|
this.set('shownAt', false);
|
||||||
},
|
},
|
||||||
|
|
||||||
bounce: function() {
|
bounce: function() {
|
||||||
var $elem = this.$()
|
if( this.get('shownAt') ) {
|
||||||
if( !this.animateAttribute ) {
|
var $elem = this.$()
|
||||||
this.animateAttribute = $elem.css('left') === 'auto' ? 'right' : 'left';
|
if( !this.animateAttribute ) {
|
||||||
|
this.animateAttribute = $elem.css('left') === 'auto' ? 'right' : 'left';
|
||||||
|
}
|
||||||
|
if( this.animateAttribute === 'left' ) {
|
||||||
|
this.bounceLeft($elem);
|
||||||
|
} else {
|
||||||
|
this.bounceRight($elem);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if( this.animateAttribute === 'left' ) {
|
}.observes('shownAt'),
|
||||||
this.bounceLeft($elem);
|
|
||||||
} else {
|
|
||||||
this.bounceRight($elem);
|
|
||||||
}
|
|
||||||
}.observes('show'),
|
|
||||||
|
|
||||||
bounceLeft: function($elem) {
|
bounceLeft: function($elem) {
|
||||||
for( var i = 0; i < 5; i++ ) {
|
for( var i = 0; i < 5; i++ ) {
|
||||||
|
Loading…
Reference in New Issue
Block a user