From: Youmin Ha Date: Tue, 9 Oct 2012 08:47:45 +0000 (+0900) Subject: Export 0.1.55 X-Git-Tag: accepted/tizen_2.1/20130425.023924~7^2~352 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7fcf865969c3aa8dccf137a0a9a80f318ebfad37;p=platform%2Fframework%2Fweb%2Fweb-ui-fw.git Export 0.1.55 --- diff --git a/Makefile b/Makefile index f7f0ccb..6a8a551 100644 --- a/Makefile +++ b/Makefile @@ -76,14 +76,8 @@ JQUERY_MOBILE_IMAGES = submodules/jquery-mobile/css/themes/default/images JQM_VERSION = jquery-mobile-1.1.0 JQM_LIB_PATH = $(CURDIR)/libs/js/${JQM_VERSION} -ifeq (${DEBUG},yes) JQUERY = jquery-1.7.1.js -else -LIBS_JS_FILES +=\ - jquery.mobile.min.js \ - $(NULL) -JQUERY = jquery-1.7.1.min.js -endif +JQUERY_MIN = $(subst .js,.min.js,$(JQUERY)) LIBS_CSS_FILES = ifeq (${DEBUG},yes) @@ -127,6 +121,7 @@ third_party: init jqm echo "" >> ${FW_LIB_MIN}; \ done; \ cp ${LIBS_DIR}/js/${JQUERY} ${JS_OUTPUT_ROOT}/jquery.js + cp ${LIBS_DIR}/js/${JQUERY_MIN} ${JS_OUTPUT_ROOT}/jquery.min.js @@cd ${LIBS_DIR}/css; \ for f in ${LIBS_CSS_FILES}; do \ cat $$f >> ${FW_CSS}; \ diff --git a/demos/tizen-winsets/widgets/datefield.html b/demos/tizen-winsets/widgets/datefield.html old mode 100644 new mode 100755 index 090594f..d52b946 --- a/demos/tizen-winsets/widgets/datefield.html +++ b/demos/tizen-winsets/widgets/datefield.html @@ -14,7 +14,7 @@
  • -
    +
    @@ -37,6 +37,11 @@ Time Picker - (select a date first)
  • +
  • +
    + +
    +
  • diff --git a/libs/patch/0002-JQM-nolabel-n-favorite-class-for-check-support.patch b/libs/patch/0002-JQM-nolabel-n-favorite-class-for-check-support.patch index 79c3627..4e57495 100644 --- a/libs/patch/0002-JQM-nolabel-n-favorite-class-for-check-support.patch +++ b/libs/patch/0002-JQM-nolabel-n-favorite-class-for-check-support.patch @@ -1,17 +1,27 @@ -From 2807a575905be49a8445aea0b1759a88339f4e16 Mon Sep 17 00:00:00 2001 +From 5f35008c978c291f67778bb72d39709109682d0c Mon Sep 17 00:00:00 2001 From: Koeun Choi Date: Fri, 15 Jun 2012 17:11:51 +0900 Subject: [PATCH] JQM:nolabel n favorite class for check support Signed-off-by: Koeun Choi +Signed-off-by: Youmin Ha --- - .../js/jquery.mobile.forms.checkboxradio.js | 10 ++++++++++ - 1 file changed, 10 insertions(+) + .../js/jquery.mobile.forms.checkboxradio.js | 12 +++++++++++- + 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/libs/js/jquery-mobile-1.1.0/js/jquery.mobile.forms.checkboxradio.js b/libs/js/jquery-mobile-1.1.0/js/jquery.mobile.forms.checkboxradio.js -index eb4731b..b373431 100644 +index eb4731b..08556cf 100644 --- a/libs/js/jquery-mobile-1.1.0/js/jquery.mobile.forms.checkboxradio.js +++ b/libs/js/jquery-mobile-1.1.0/js/jquery.mobile.forms.checkboxradio.js +@@ -26,7 +26,7 @@ $.widget( "mobile.checkboxradio", $.mobile.widget, { + // NOTE: Windows Phone could not find the label through a selector + // filter works though. + parentLabel = $( input ).closest( "label" ), +- label = parentLabel.length ? parentLabel : $( input ).closest( "form,fieldset,:jqmData(role='page'),:jqmData(role='dialog')" ).find( "label" ).filter( "[for='" + input[0].id + "']" ), ++ label = parentLabel.length ? parentLabel : ( input[0].id ? $( input ).closest( "form,fieldset,:jqmData(role='page'),:jqmData(role='dialog')" ).find( "label" ).filter( "[for='" + input[0].id + "']" ) : [ ] ), + inputtype = input[0].type, + mini = inheritAttr( input, "mini" ), + checkedState = inputtype + "-on", @@ -43,6 +43,12 @@ $.widget( "mobile.checkboxradio", $.mobile.widget, { return; } diff --git a/libs/patch/0020-JQM-Block-click-event-only-with-the-element-that-doe.patch b/libs/patch/0020-JQM-Block-click-event-only-with-the-element-that-doe.patch new file mode 100644 index 0000000..442db89 --- /dev/null +++ b/libs/patch/0020-JQM-Block-click-event-only-with-the-element-that-doe.patch @@ -0,0 +1,34 @@ +From ac56c1f0e6620cbd83127b2ca3192723dcf50d56 Mon Sep 17 00:00:00 2001 +From: Youmin Ha +Date: Sat, 8 Sep 2012 22:43:29 +0900 +Subject: [PATCH] JQM: Block click event only with the element that does preventDefault on vclick + +Signed-off-by: Youmin Ha +--- + .../jquery-mobile-1.1.0/js/jquery.mobile.vmouse.js | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/libs/js/jquery-mobile-1.1.0/js/jquery.mobile.vmouse.js b/libs/js/jquery-mobile-1.1.0/js/jquery.mobile.vmouse.js +index b608460..8d7d9a2 100644 +--- a/libs/js/jquery-mobile-1.1.0/js/jquery.mobile.vmouse.js ++++ b/libs/js/jquery-mobile-1.1.0/js/jquery.mobile.vmouse.js +@@ -300,6 +300,7 @@ function handleTouchEnd( event ) { + t = getNativeEvent( event ).changedTouches[ 0 ]; + clickBlockList.push({ + touchID: lastTouchID, ++ target: event.target, + x: t.clientX, + y: t.clientY + }); +@@ -494,7 +495,7 @@ if ( eventCaptureSupported ) { + o = clickBlockList[ i ]; + touchID = 0; + +- if ( ( ele === target && Math.abs( o.x - x ) < threshold && Math.abs( o.y - y ) < threshold ) || ++ if ( ( ele === target && target === o.target && Math.abs( o.x - x ) < threshold && Math.abs( o.y - y ) < threshold ) || + $.data( ele, touchTargetPropertyName ) === o.touchID ) { + // XXX: We may want to consider removing matches from the block list + // instead of waiting for the reset timer to fire. +-- +1.7.9.5 + diff --git a/libs/patch/0021-JQM-add-event-blocker-when-load-a-first-page.patch b/libs/patch/0021-JQM-add-event-blocker-when-load-a-first-page.patch new file mode 100644 index 0000000..a639dc6 --- /dev/null +++ b/libs/patch/0021-JQM-add-event-blocker-when-load-a-first-page.patch @@ -0,0 +1,61 @@ +From 90c6c1dae398b40abfd2f9325bd1ed57ecd69178 Mon Sep 17 00:00:00 2001 +From: Minkyu Kang +Date: Wed, 26 Sep 2012 14:34:50 +0900 +Subject: [PATCH] JQM: add event blocker when load a first page + +Change-Id: I4b159977e158cf8358bdd118682b8291e3adb6d8 +Signed-off-by: Minkyu Kang +--- + .../jquery-mobile-1.1.0/js/jquery.mobile.init.js | 13 +++++++++++++ + .../js/jquery.mobile.navigation.js | 4 ++++ + 2 files changed, 17 insertions(+) + +diff --git a/libs/js/jquery-mobile-1.1.0/js/jquery.mobile.init.js b/libs/js/jquery-mobile-1.1.0/js/jquery.mobile.init.js +index 93c03e8..54c4615 100644 +--- a/libs/js/jquery-mobile-1.1.0/js/jquery.mobile.init.js ++++ b/libs/js/jquery-mobile-1.1.0/js/jquery.mobile.init.js +@@ -106,6 +106,18 @@ define( [ "jquery", "./jquery.mobile.core", "./jquery.mobile.support", "./jquery + $( window ).unbind( "scroll", checkLoaderPosition ); + }, + ++ addEventBlocker: function () { ++ $html.addClass( "ui-blocker" ); ++ $html.bind( "touchstart touchend vclick mousedown mouseup click", function () { ++ return false; ++ } ); ++ }, ++ ++ removeEventBlocker: function () { ++ $html.removeClass( "ui-blocker" ); ++ $html.unbind( "touchstart touchend vclick mousedown mouseup click" ); ++ }, ++ + // find and enhance the pages in the dom and transition to the first page. + initializePage: function() { + // find present pages +@@ -138,6 +150,7 @@ define( [ "jquery", "./jquery.mobile.core", "./jquery.mobile.support", "./jquery + + // cue page loading message + $.mobile.showPageLoadingMsg(); ++ $.mobile.addEventBlocker(); + + //remove initial build class (only present on first pageshow) + hideRenderingClass(); +diff --git a/libs/js/jquery-mobile-1.1.0/js/jquery.mobile.navigation.js b/libs/js/jquery-mobile-1.1.0/js/jquery.mobile.navigation.js +index f6e11b3..841e8a9 100644 +--- a/libs/js/jquery-mobile-1.1.0/js/jquery.mobile.navigation.js ++++ b/libs/js/jquery-mobile-1.1.0/js/jquery.mobile.navigation.js +@@ -529,6 +529,10 @@ define( [ + + //trigger pageshow, define prevPage as either fromPage or empty jQuery obj + toPage.data( "page" )._trigger( "show", null, { prevPage: fromPage || $( "" ) } ); ++ ++ setTimeout( function () { ++ $.mobile.removeEventBlocker(); ++ }, 0 ); + }); + + return promise; +-- +1.7.9.5 + diff --git a/packaging/web-ui-fw.spec b/packaging/web-ui-fw.spec index 07f0d95..09b719e 100644 --- a/packaging/web-ui-fw.spec +++ b/packaging/web-ui-fw.spec @@ -1,5 +1,5 @@ Name: web-ui-fw -Version: 0.1.48 +Version: 0.1.55 Release: 0 Summary: Tizen Web UI Framework Library Group: Development/Other @@ -28,6 +28,7 @@ make DESTDIR=%{buildroot} install %post %files +%manifest web-ui-fw.manifest /usr/share/tizen-web-ui-fw/*/js /usr/share/tizen-web-ui-fw/latest @@ -45,6 +46,7 @@ Summary: Tizen Web UI Framework Theme : tizen-black %Description -n web-ui-fw-theme-tizen-black Tizen Web UI Framework Theme : tizen-black %files -n web-ui-fw-theme-tizen-black +%manifest web-ui-fw-theme-tizen-black.manifest /usr/share/tizen-web-ui-fw/*/themes/tizen-black ############################### @@ -54,6 +56,7 @@ Summary: Tizen Web UI Framework Theme : tizen-white %Description -n web-ui-fw-theme-tizen-white Tizen Web UI Framework Theme : tizen-white %files -n web-ui-fw-theme-tizen-white +%manifest web-ui-fw-theme-tizen-white.manifest /usr/share/tizen-web-ui-fw/*/themes/tizen-white ############################### @@ -63,6 +66,7 @@ Summary: Tizen Web UI Framework Theme : default %Description -n web-ui-fw-theme-default Tizen Web UI Framework Theme : default %files -n web-ui-fw-theme-default +%manifest web-ui-fw-theme-default.manifest /usr/share/tizen-web-ui-fw/*/themes/default ############################### @@ -87,6 +91,56 @@ Summary: Tizen Web UI Framework Demo Application: tizen winset demo ############################### %changelog +* Tue Oct 09 2012 Youmin Ha 0.1.55 +- FIX: + - Fix SMACK manifest bug (S1-9098) + +* Fri Oct 05 2012 Minkyu Kang 0.1.54 +- FIX: + - handler: don't append a handler if handler is not enabled + - scrollview: use static value + - datetimepicker: fix date-format HH display error +- ETC: + - provide jquery.min.js + - barlayout: codes clean + - remove unused file + +* Wed Sep 26 2012 Minkyu Kang 0.1.53 +- FIX: + - listview: change focused color + - multibuttonentry: code refactoring + - datetimepicker: modify date format when triggered date-changed event + - slider: fix the top of slider bar + - add event blocker when load a first page + +* Fri Sep 21 2012 Youmin Ha 0.1.52 +- ETC. + - Move SMACK manifest files to the top SRCDIR + +* Fri Sep 21 2012 Youmin Ha 0.1.51 +- FIX: + - Popup: Do not focus container + - Header: show backbutton when both tabbar and header are present together + - Multi button entry: text ellipsis, code refactoring + +* Fri Sep 21 2012 Youmin Ha 0.1.50 +- ETC. + - Apply SMACK manifest + +* Thu Sep 20 2012 Youmin Ha 0.1.49 +- FIX: + - JSLINT code clean-up + - scrollview: firefox support + - scrollview: fix finding slider handle + - list: tweak text ellipsis + - checkbox: fix selecting wrong label tag (N_SE-8370) + - imageslider: check parameter + - smallpopup: fix position + - searchbar: fix 'clear' button size +- Spec changes: + - scrollview: support outer scroll + - JQM: block click event only with the element that does preventdefault on vclick(N_SE-6090) + - remove S/W IME control * Thu Sep 13 2012 Youmin Ha 0.1.48 - FIX: diff --git a/src/themes/tizen/common/jquery.mobile.core.less b/src/themes/tizen/common/jquery.mobile.core.less index 29e6c71..31d9663 100755 --- a/src/themes/tizen/common/jquery.mobile.core.less +++ b/src/themes/tizen/common/jquery.mobile.core.less @@ -57,6 +57,8 @@ .ui-loader h1 { font-size: 32 * @unit_base; text-align: center; } .ui-loader .ui-icon { position: static; display: block; opacity: .9; margin: 0 auto; width: 35px; height: 35px; background-color: transparent; } +.ui-blocker { width:100%; height:100%; z-index:@z_base_maximum; } + /*fouc*/ .ui-mobile-rendering > * { visibility: hidden; } diff --git a/src/themes/tizen/common/jquery.mobile.forms.textinput.less b/src/themes/tizen/common/jquery.mobile.forms.textinput.less index 026e80b..a7f1a88 100755 --- a/src/themes/tizen/common/jquery.mobile.forms.textinput.less +++ b/src/themes/tizen/common/jquery.mobile.forms.textinput.less @@ -14,11 +14,10 @@ input.ui-input-text, textarea.ui-input-text { line-height: 1.4; font-size: 32 * @unit_base; display: block; - width: 95%; } input.ui-input-text { appearance: none; - -webkit-appearance: none; + -webkit-appearance: none; } textarea.ui-input-text { height: 50*@unit_base; @@ -30,9 +29,13 @@ textarea.ui-input-text { } .ui-input-search { - padding: 0 0; position: relative; + + padding-right : 74 * @unit_base; + padding-left : 74 * @unit_base; + input.ui-input-text { + width : 100%; border: none; background: transparent none; outline: 0 !important; @@ -42,9 +45,11 @@ textarea.ui-input-text { background: transparent none; } .ui-btn-icon-notext.ui-input-clear { - width: 38 * @unit_base; - height: 38 * @unit_base; - .ui-btn-inner { padding: 0; } + width: 70 * @unit_base; + height: 70 * @unit_base; + .ui-btn-inner { + padding : 16 * @unit_base; + } } .ui-icon-deleteSearch { width: 38 * @unit_base; @@ -56,7 +61,6 @@ textarea.ui-input-text { right: 0; top: 0; vertical-align: middle; - margin: 16 * @unit_base; } .ui-input-clear-hidden { display: none; } } @@ -70,28 +74,33 @@ textarea.ui-input-text { margin: 16 * @unit_base; } -/* orientation adjustments - incomplete!*/ -@media all and (min-width: 721*@unit_base){ - label.ui-input-text { + +/* code for label+inputbox : remove this code if webApp dev. controls input area */ +@media all and (min-width: 721*@unit_base) { + label.ui-input-text:not([data-type='search']) { vertical-align: top; display: inline-block; - margin: 0 2% 0 0 + margin: 0 2% 0 0; + } + input.ui-input-text:not([data-type='search']), textarea.ui-input-text:not([data-type='search']){ + width: 60%; + display: inline-block; + } + .ui-input-search input.ui-input-text:not([data-type='search']) { + width: 85%; } - input.ui-input-text, - textarea.ui-input-text, - .ui-input-search { width: 60%; display: inline-block; } - .ui-input-search input.ui-input-text { width: 85%; /*echos rule from above*/ } } + /* search bar */ .ui-body-s > div > .ui-field-contain > .input-search-bar, .ui-body-s > .ui-field-contain > .input-search-bar { margin : -48*@unit_base -15*@unit_base -32*@unit_base -15*@unit_base; -} /* Need to confirm exact concept : Jinhyuk */ +} /* Need to confirm exact concept */ .input-search-bar { - position : relative; /* In case searchbar in header : Jinhyuk */ - + position : relative; + background-color: @color_searchbar_bg; padding: @search-bar-padding; vertical-align: middle; @@ -100,19 +109,20 @@ textarea.ui-input-text { } .ui-input-search { font-size : 32 * @unit_base; - display: inline-block; + display : block; position: relative; - width: 70%; - padding: 0; + + margin-right : 150 * @unit_base; background-color: @color_searchbar_input_field_bg; .ui-input-text { height: 74 * @unit_base; padding : 0px; - margin-left : 74 * @unit_base; + + margin-right : 38 * @unit_base; } } .ui-input-search-default { - width: 70%; + margin-right : 150 * @unit_base; -webkit-transition: width 400ms linear; -moz-transition: width 400ms linear; -o-transition: width 400ms linear; @@ -120,7 +130,7 @@ textarea.ui-input-text { transition: width 400ms linear; } .ui-input-search-wide { - width: 100%; + margin-right : 0 * @unit_base; -webkit-transition: width 400ms linear; -moz-transition: width 400ms linear; -o-transition: width 400ms linear; @@ -130,27 +140,28 @@ textarea.ui-input-text { .ui-btn-icon-cancel { display: inline-block; position: absolute; - left: 70%; + + top : 16 * @unit_base; + right : 0 * @unit_base; + margin-right : 16 * @unit_base; vertical-align: middle; - margin-left : 10 * @unit_base; - margin-right : 10 * @unit_base; padding : 0px; height : 74 * @unit_base; - + border-color : none; .ui-btn-text{ font-size : 32 * @unit_base; - } + } .ui-btn-inner { padding-top : 18 * @unit_base; padding-bottom : 18 * @unit_base; - } + } } - + .ui-btn-icon-cancel.ui-input-cancel { - width: 26%; + width : 134 * @unit_base; -webkit-transition: all 400ms linear; -moz-transition: all 400ms linear; -o-transition: all 400ms linear; @@ -158,11 +169,11 @@ textarea.ui-input-text { transition: all 400ms linear; } .ui-btn-cancel-hide { - left: 100%; + right : -150 * @unit_base; visibility: hidden; } .ui-btn-cancel-show { - left: 70%; + right : 0px; visibility: visible; } } diff --git a/src/themes/tizen/common/jquery.mobile.listview.less b/src/themes/tizen/common/jquery.mobile.listview.less index cd9b28d..100ce7d 100755 --- a/src/themes/tizen/common/jquery.mobile.listview.less +++ b/src/themes/tizen/common/jquery.mobile.listview.less @@ -175,11 +175,11 @@ padding-right : 16 * @unit_base; display: block; - white-space: nowrap; // default: 1line + white-space: normal; // default: 1line } .ui-btn-inner a.ui-link-inherit { - .LESStext-ellipsis(); + .LESStext-no-ellipsis(); } @@ -279,12 +279,27 @@ li.ui-li-thumbnail-right { } a { - .LESStext-ellipsis(); + .LESStext-no-ellipsis(); padding-right : 16 * @unit_base; /* ellipsis for normal text */ } } +/********************************************/ +/************ Add ellipsis *****************/ +/********************************************/ +.ui-li.ui-li-text-ellipsis { + .ui-btn-inner a.ui-link-inherit { + .LESStext-ellipsis(); + } + + a { + .LESStext-ellipsis(); + } + &.ui-li-static { + .LESStext-ellipsis(); + } +} /********************************************/ /*************** Divider ********************/ /********************************************/ @@ -394,7 +409,7 @@ li.ui-li-thumbnail-right { .ui-li.ui-li-has-right-btn { .ui-btn-inner a { - padding-right : 256 * @unit_base; + padding-right : 158 * @unit_base; } } @@ -408,7 +423,7 @@ li.ui-li-thumbnail-right { } .ui-li.ui-li-static.ui-li-has-right-btn { - padding-right : 256 * @unit_base; + padding-right : 158 * @unit_base; } .ui-li.ui-li-static.ui-li-thumbnail-right { @@ -518,6 +533,20 @@ li:not(.ui-li-has-multiline) .ui-li-text-sub { .LESStext-ellipsis(); } +.ui-li-has-multiline.ui-li-has-right-btn { + .ui-btn-inner a { + .ui-li-text-sub { + width : 74%; + } + } +} + +.ui-li-has-multiline.ui-li-static.ui-li-has-right-btn { + .ui-li-text-sub { + width : 74%; + } +} + .ui-li-icon-sub-right, .ui-li-icon-sub { position: absolute; diff --git a/src/themes/tizen/common/jquery.mobile.theme.less b/src/themes/tizen/common/jquery.mobile.theme.less index ea8cb4f..1dd9067 100755 --- a/src/themes/tizen/common/jquery.mobile.theme.less +++ b/src/themes/tizen/common/jquery.mobile.theme.less @@ -467,9 +467,12 @@ } /* listview: fonts for li with a link */ li.ui-btn-up-s > .ui-li > .ui-btn-text > a.ui-link-inherit, - li.ui-btn-hover-s > .ui-li > .ui-btn-text > a.ui-link-inherit, + li.ui-btn-hover-s > .ui-li > .ui-btn-text > a.ui-link-inherit { + color: @color_list_main_text_unfocus; + } + li.ui-btn-down-s > .ui-li > .ui-btn-text > a.ui-link-inherit { - color: @color_text; + color: @color_list_main_text_focus; } /* listview divider */ /* NOTE: this divider has no swatch tag! */ diff --git a/src/themes/tizen/common/jquery.mobile.tizen.datetimepicker.less b/src/themes/tizen/common/jquery.mobile.tizen.datetimepicker.less index b90ecd8..697d12b 100755 --- a/src/themes/tizen/common/jquery.mobile.tizen.datetimepicker.less +++ b/src/themes/tizen/common/jquery.mobile.tizen.datetimepicker.less @@ -39,6 +39,10 @@ position: relative; } +.ui-datetime-text-main.ui-datetime-nosubtitle { + top : 0px; +} + .ui-datetime-text-sub { position: absolute; top: 10 * @unit_base; diff --git a/src/themes/tizen/common/jquery.mobile.tizen.less b/src/themes/tizen/common/jquery.mobile.tizen.less old mode 100644 new mode 100755 index 11d203e..f76e8c8 --- a/src/themes/tizen/common/jquery.mobile.tizen.less +++ b/src/themes/tizen/common/jquery.mobile.tizen.less @@ -172,5 +172,10 @@ white-space: nowrap; text-overflow: ellipsis; -o-text-overflow: ellipsis; - overflow-x: hidden !important; + overflow: hidden !important; } + +.LESStext-no-ellipsis() { + white-space: normal; + overflow: visible !important; +} \ No newline at end of file diff --git a/src/themes/tizen/common/jquery.mobile.tizen.multibuttonentry.less b/src/themes/tizen/common/jquery.mobile.tizen.multibuttonentry.less index ef339b7..70f0611 100755 --- a/src/themes/tizen/common/jquery.mobile.tizen.multibuttonentry.less +++ b/src/themes/tizen/common/jquery.mobile.tizen.multibuttonentry.less @@ -52,6 +52,9 @@ border-radius : 1.5em; .LESSbox-shadow(0, .1em, .1em, rgba(0,0,0,.2)); color : @color_multibuttonentry_block_text; + overflow : hidden; + text-overflow : ellipsis; + white-space : nowrap; } a.ui-multibuttonentry-link-base { diff --git a/src/themes/tizen/common/jquery.mobile.tizen.notification.less b/src/themes/tizen/common/jquery.mobile.tizen.notification.less index ad11f6f..24895cf 100644 --- a/src/themes/tizen/common/jquery.mobile.tizen.notification.less +++ b/src/themes/tizen/common/jquery.mobile.tizen.notification.less @@ -108,8 +108,6 @@ /* smallpopup */ -@smallpopup-height: 48 * @unit_base; - @-webkit-keyframes ui-smallpopup-show { from { opacity: 0; @@ -127,7 +125,6 @@ -webkit-transform: scaleY(1); } to { opacity: 0; - height: 0; left: 0; -webkit-transform: scaleY(0); } @@ -141,6 +138,7 @@ z-index: @z_base_smallpopup; background: @color_smallpopup_bg; vertical-align: middle; + word-break: break-all; } .ui-smallpopup.fix { diff --git a/src/themes/tizen/common/jquery.mobile.tizen.slider.less b/src/themes/tizen/common/jquery.mobile.tizen.slider.less index cdf7f8e..53741f7 100644 --- a/src/themes/tizen/common/jquery.mobile.tizen.slider.less +++ b/src/themes/tizen/common/jquery.mobile.tizen.slider.less @@ -28,15 +28,15 @@ select.ui-slider-switch { } .ui-slider-icon-bg { - margin-left: 96 * @unit_base; - margin-right: 96 * @unit_base; + margin-left: 112 * @unit_base; + margin-right: 112 * @unit_base; } .ui-slider-left-volume, .ui-slider-left-bright { position: absolute; top: -0.2em; - left: -96 * @unit_base; + left: -112 * @unit_base; height: @img-height; width: @img-width; vertical-align: middle; @@ -53,7 +53,7 @@ select.ui-slider-switch { .ui-slider-right-bright { position: absolute; top: -0.2em; - right: -96 * @unit_base; + right: -112 * @unit_base; height: @img-height; width: @img-width; vertical-align: middle; @@ -69,7 +69,7 @@ select.ui-slider-switch { .ui-slider-left-text { position: absolute; top: -0.2em; - left: -96 * @unit_base; + left: -112 * @unit_base; height: 80 * @unit_base; width: 80 * @unit_base; text-align: center; @@ -79,7 +79,7 @@ select.ui-slider-switch { .ui-slider-right-text { position: absolute; top: -0.2em; - right: -96 * @unit_base; + right: -112 * @unit_base; height: 80 * @unit_base; width: 80 * @unit_base; text-align: center; @@ -130,8 +130,8 @@ a.ui-slider-handle { } .ui-slider-bar { - position: absolute; - top: 0.75em; + position: relative; + top: -0.85em; height: 16 * @unit_base; width: 0; background-image: url(images/00_winset_list_progress_bar.png); diff --git a/src/themes/tizen/tizen-black/style.less b/src/themes/tizen/tizen-black/style.less index 9774079..982adee 100755 --- a/src/themes/tizen/tizen-black/style.less +++ b/src/themes/tizen/tizen-black/style.less @@ -38,10 +38,12 @@ /*************************************************************************** List ***************************************************************************/ +@color_list_main_text_focus: rgba(249, 249, 249, 1); +@color_list_main_text_unfocus: rgba(249, 249, 249, 1); + @color_list_border_bottom: rgb(68, 68, 68); @color_list_main_text_read: rgba(158, 158, 158, 1); @color_list_main_text_unread: rgba(249, 249, 249, 1); -@color_list_main_text_focus: rgba(249, 249, 249, 1); @color_list_sub_text_default: rgba(100, 100, 100, 1); @color_list_sub_text_settings: rgba(0, 140, 210, 1); @color_list_sub_text_focus: rgba(249, 249, 249, 1); diff --git a/src/themes/tizen/tizen-white/style.less b/src/themes/tizen/tizen-white/style.less index 4c05509..f1b79ad 100755 --- a/src/themes/tizen/tizen-white/style.less +++ b/src/themes/tizen/tizen-white/style.less @@ -38,10 +38,12 @@ /*************************************************************************** List ***************************************************************************/ +@color_list_main_text_focus: rgba(249, 249, 249, 1); +@color_list_main_text_unfocus: rgba(0, 0, 0, 1); + @color_list_border_bottom: rgb(169, 169, 169); @color_list_main_text_read: rgba(158, 158, 158, 1); @color_list_main_text_unread: rgba(249, 249, 249, 1); -@color_list_main_text_focus: rgba(249, 249, 249, 1); @color_list_sub_text_default: rgba(100, 100, 100, 1); @color_list_sub_text_settings: rgba(0, 140, 210, 1); @color_list_sub_text_focus: rgba(249, 249, 249, 1); diff --git a/src/widgets/barlayout/js/jquery.mobile.tizen.barlayout.js b/src/widgets/barlayout/js/jquery.mobile.tizen.barlayout.js index 52709db..79606b8 100755 --- a/src/widgets/barlayout/js/jquery.mobile.tizen.barlayout.js +++ b/src/widgets/barlayout/js/jquery.mobile.tizen.barlayout.js @@ -1,45 +1,42 @@ -(function( $, undefined ) { +( function ( $, undefined ) { $.widget( "mobile.barlayout", $.mobile.widget, { options: { addBackBtn: false , backBtnText: "Back", - initSelector: ":jqmData(role='header'), :jqmData(role='footer')" - }, - _create: function() { + }, + _create: function () { var self = this; - /* this call api will be moved to jquery.mobile.page.section.js patch */ /* call _generateFooter in header(just 1 time in first step) because to calculate another layout width footer/header */ /* skip below step to attach bind/addclass only 1 time */ self._generateFooter(); self._addBackbutton(); self._disableSelection(); - self._disableContext(); }, /* Make dummy footer * because minimum fixed bar needs to attach back button * check footer exist on current page, then check footer-Exist option check */ - _generateFooter: function(){ + _generateFooter: function () { var self = this, $el = self.element, $elPage = $el.closest( ".ui-page" ), dummyFooter; - if ( $elPage.children(":jqmData(role='footer')").length == 0 && $elPage.data().page.options.footerExist != false ) { - dummyFooter = $( "" ) - .insertAfter( $elPage.find( ".ui-content" ) ); + if ( $elPage.children(":jqmData(role='footer')").length == 0 && $elPage.data().page.options.footerExist != false ) { + dummyFooter = $( "" ) + .insertAfter( $elPage.find( ".ui-content" ) ); } }, - _addBackbutton: function( target, status ) { + _addBackbutton: function ( target, status ) { // need to add parameter target wherels this requert occurs header/footer var self = this, $el = self.element, - $elHeader = $( this.element ).jqmData( "role" )=="header" ? self.element : $el.siblings( ":jqmData(role='header')" ), - $elFooter = $( this.element ).jqmData( "role" )=="footer" ? self.element : $el.siblings( ":jqmData(role='footer')" ), + $elHeader = $el.jqmData( "role" ) === "header" ? $el : $el.siblings( ":jqmData(role='header')" ), + $elFooter = $el.jqmData( "role" ) === "footer" ? $el : $el.siblings( ":jqmData(role='footer')" ), $elPage = $el.closest( ".ui-page" ), backBtn, attachElement = $elFooter, @@ -50,82 +47,80 @@ * 2. footer does not exist and addBackBtn is set to "footer" * 3. user define data-add-Back-Btn = "false" */ - if ( status != "external" ) { - if ( $elFooter.children( ":jqmData(role='controlbar')" ).jqmData( "style" ) == "tabbar" || $elPage.data().page.options.addBackBtn == "none" || ( $elPage.data().page.options.addBackBtn == "footer" && $elPage.data().page.options.footerExist == false ) ) { - return true; - } + if ( status != "external" ) { + if ( ( $elFooter.children( ":jqmData(role='controlbar')" ).jqmData( "style" ) == "tabbar" && $elPage.jqmData( "addBackBtn" ) != "header" ) + || $elPage.data().page.options.addBackBtn == "none" || ( $elPage.data().page.options.addBackBtn == "footer" && $elPage.data().page.options.footerExist == false ) ) { + return true; } + } - $elPage.data().page.options.addBackBtn == "header"? attachElement = $elHeader : attachElement = $elFooter; - - backBtn = $( "" ) - .buttonMarkup( {icon: "header-back-btn", theme : "s"} ); - - if ( status == "external" ) { - if ( $el.is(".ui-page") ) { - $elHeader = $el.find( ":jqmData(role='header')" ); - $elFooter = $el.find( ":jqmData(role='footer')" ); - target == "header" ? attachElement = $elHeader : attachElement = $elFooter; - } else { - attachElement = $el; - } - if ( attachElement.find(".ui-btn-back").length == 0 ) { - backBtn.prependTo( attachElement ); - } + attachElement = ( $elPage.data().page.options.addBackBtn === "header" ) ? $elHeader : $elFooter; + + backBtn = $( "" ) + .buttonMarkup( {icon: "header-back-btn", theme : "s"} ); + + if ( status == "external" ) { + if ( $el.is(".ui-page") ) { + $elHeader = $el.find( ":jqmData(role='header')" ); + $elFooter = $el.find( ":jqmData(role='footer')" ); + attachElement = ( target === "header" ) ? $elHeader : $elFooter; + } else { + attachElement = $el; } + if ( attachElement.find(".ui-btn-back").length == 0 ) { + backBtn.prependTo( attachElement ); + } + } - if ( $elPage.jqmData( "url" ) !== $.mobile.path.stripHash( location.hash ) ) { - if ( attachElement.find(".ui-btn-back").length == 0) { - backBtn.prependTo( attachElement ); - } + if ( $elPage.jqmData( "url" ) !== $.mobile.path.stripHash( location.hash ) ) { + if ( attachElement.find(".ui-btn-back").length == 0) { + backBtn.prependTo( attachElement ); } + } -/* jQM 1.1.0 do not need this code -* navigation.js control whote back button */ -/* backBtn.bind( "vclick", function( event ) { + /* jQM 1.1.0 does not need this code. + navigation.js control whole back buttons. */ + /* + backBtn.bind( "vclick", function( event ) { window.history.back(); - });*/ + }); + */ }, - _disableSelection : function() { + _disableSelection : function () { var self = this, - $el = self.element, - $elHeader = $( this.element ).jqmData( "role" )=="header" ? self.element : $el.siblings( ":jqmData(role='header')" ), - $elFooter = $( this.element ).jqmData( "role" )=="footer" ? self.element : $el.siblings( ":jqmData(role='footer')" ); + $el = self.element, + $elHeader = $el.jqmData( "role" ) === "header" ? $el : $el.siblings( ":jqmData(role='header')" ), + $elFooter = $el.jqmData( "role" ) === "footer" ? $el : $el.siblings( ":jqmData(role='footer')" ); + // disable selection $.mobile.tizen.disableSelection( $elHeader ); $.mobile.tizen.disableSelection( $elFooter ); - }, - - _disableContext : function() { - var self = this, - $el = self.element, - $elHeader = $( this.element ).jqmData( "role" )=="header" ? self.element : $el.siblings( ":jqmData(role='header')" ), - $elFooter = $( this.element ).jqmData( "role" )=="footer" ? self.element : $el.siblings( ":jqmData(role='footer')" ); + // disable context menu $.mobile.tizen.disableContextMenu( $elHeader ); $.mobile.tizen.disableContextMenu( $elFooter ); }, - addBackBtn : function(target) { + addBackBtn : function ( target ) { this._addBackbutton( target, "external" ); }, - show: function(){ + show: function () { var self = $( this.element ); self.show(); self.siblings( ".ui-content" ).pagelayout( "updatePageLayout" ); }, - hide: function(){ + hide: function () { var self = $( this.element ); self.hide(); self.siblings( ".ui-content" ).pagelayout( "updatePageLayout" ); }, }); - $( document ).bind("pagecreate", function( e ){ + $( document ).bind("pagecreate", function ( e ) { $.mobile.barlayout.prototype.enhanceWithin( e.target ); }); })( jQuery ); diff --git a/src/widgets/circularview/js/jquery.mobile.tizen.circularview.js b/src/widgets/circularview/js/jquery.mobile.tizen.circularview.js index 3296cdf..4f5dfa0 100755 --- a/src/widgets/circularview/js/jquery.mobile.tizen.circularview.js +++ b/src/widgets/circularview/js/jquery.mobile.tizen.circularview.js @@ -35,6 +35,8 @@ function setElementTransform( $ele, x, y ) { var v = "translate3d( " + x + "," + y + ", 0px)"; $ele.css({ + "-ms-transform": v, + "-o-transform": v, "-moz-transform": v, "-webkit-transform": v, "transform": v diff --git a/src/widgets/common/js/jquery.mobile.panning-page.js b/src/widgets/common/js/jquery.mobile.panning-page.js deleted file mode 100644 index 336ee74..0000000 --- a/src/widgets/common/js/jquery.mobile.panning-page.js +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Size pages to the window - * - * This software is licensed under the MIT licence (as defined by the OSI at - * http://www.opensource.org/licenses/mit-license.php) - * - * *************************************************************************** - * Copyright (C) 2011 by Intel Corporation Ltd. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * *************************************************************************** - */ - -// Size pages to the window - -(function($, undefined) { - -var _fit_page_to_window_selector = ":jqmData(role='page'):jqmData(fit-page-to-window='true'):visible"; - -$(document).bind("pageshow", function(e) { - if ($(e.target).is(_fit_page_to_window_selector)) - $.mobile.tizen.fillPageWithContentArea($(e.target)); -}); - -$(window).resize(function() { - if ($(_fit_page_to_window_selector)[0] !== undefined) - $.mobile.tizen.fillPageWithContentArea($(_fit_page_to_window_selector)); -}); - -})(jQuery); diff --git a/src/widgets/common/js/jquery.mobile.tizen.core.js b/src/widgets/common/js/jquery.mobile.tizen.core.js index c23f701..6248857 100644 --- a/src/widgets/common/js/jquery.mobile.tizen.core.js +++ b/src/widgets/common/js/jquery.mobile.tizen.core.js @@ -35,166 +35,6 @@ ensureNS("jQuery.mobile.tizen"); (function () { jQuery.extend(jQuery.mobile.tizen, { - Point: function (x, y) { - var X = isNaN(x) ? 0 : x; - var Y = isNaN(y) ? 0 : y; - - this.add = function (Point) { - this.setX(X + Point.x()); - this.setY(Y + Point.y()); - return this; - } - - this.subtract = function (Point) { - this.setX(X - Point.x()); - this.setY(Y - Point.y()); - return this; - } - - this.multiply = function (Point) { - this.setX(Math.round(X * Point.x())); - this.setY(Math.round(Y * Point.y())); - return this; - } - - this.divide = function (Point) { - this.setX(Math.round(X / Point.x())); - this.setY(Math.round(Y / Point.y())); - return this; - } - - this.isNull = function () { - return (X === 0 && Y === 0); - } - - this.x = function () { - return X; - } - - this.setX = function (val) { - isNaN(val) ? X = 0 : X = val; - } - - this.y = function () { - return Y; - } - - this.setY = function (val) { - isNaN(val) ? Y = 0 : Y = val; - } - - this.setNewPoint = function (point) { - this.setX(point.x()); - this.setY(point.y()); - } - - this.isEqualTo = function (point) { - return (X === point.x() && Y === point.y()); - } - }, - - Rect: function (left,top,width,height) { - var Left = left; - var Top = top; - var Right = Left+width; - var Bottom = Top+height; - - this.setRect = function(varL,varR,varT,varB) { - this.setLeft(varL); - this.setRight(varR); - this.setTop(varT); - this.setBottom(varB); - } - - this.right = function () { - return Right; - } - - this.setRight = function (val) { - Right = val; - } - - this.top = function () { - return Top; - } - - this.setTop = function (val) { - Top = val; - } - - this.bottom = function () { - return Bottom; - } - - this.setBottom = function (val) { - Bottom = val; - } - - this.left = function () { - return Left; - } - - this.setLeft = function (val) { - Left = val; - } - - this.moveTop = function(valY) { - var h = this.height(); - Top = valY; - Bottom = Top + h; - } - - this.isNull = function () { - return Right === Left && Bottom === Top; - } - - this.isValid = function () { - return Left <= Right && Top <= Bottom; - } - - this.isEmpty = function () { - return Left > Right || Top > Bottom; - } - - this.contains = function (valX,valY) { - if (this.containsX(valX) && this.containsY(valY)) - return true; - return false; - } - - this.width = function () { - return Right - Left; - } - - this.height = function () { - return Bottom - Top; - } - - this.containsX = function(val) { - var l = Left, - r = Right; - if (Right val || r < val) - return false; - return true; - } - - this.containsY = function(val) { - var t = Top, - b = Bottom; - if (Bottom val || b < val) - return false; - return true; - } - }, - disableSelection: function (element) { var self = this; return self.enableSelection( element, 'none' ); @@ -237,20 +77,6 @@ jQuery.extend(jQuery.mobile.tizen, { } ); }, - // Set the height of the content area to fill the space between a - // page's header and footer - fillPageWithContentArea: function (page) { - var $page = $(page); - var $content = $page.children(".ui-content:first"); - var hh = $page.children(".ui-header").outerHeight(); hh = hh ? hh : 0; - var fh = $page.children(".ui-footer").outerHeight(); fh = fh ? fh : 0; - var pt = parseFloat($content.css("padding-top")); - var pb = parseFloat($content.css("padding-bottom")); - var wh = window.innerHeight; - var height = wh - (hh + fh) - (pt + pb); - $content.height(height); - }, - // Get document-relative mouse coordinates from a given event // From: http://www.quirksmode.org/js/events_properties.html#position documentRelativeCoordsFromEvent: function(ev) { diff --git a/src/widgets/common/js/jquery.mobile.tizen.jlayoutadaptor.js b/src/widgets/common/js/jquery.mobile.tizen.jlayoutadaptor.js deleted file mode 100644 index 4ca6cf1..0000000 --- a/src/widgets/common/js/jquery.mobile.tizen.jlayoutadaptor.js +++ /dev/null @@ -1,124 +0,0 @@ -/* - * - * This software is licensed under the MIT licence (as defined by the OSI at - * http://www.opensource.org/licenses/mit-license.php) - * - * *************************************************************************** - * Copyright (C) 2011 by Intel Corporation Ltd. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * *************************************************************************** - */ - -// Wrapper round the jLayout functions to enable it to be used -// for creating jQuery Mobile layout extensions. -// -// See the layouthbox and layoutvbox widgets for usage examples. -(function ($, undefined) { - -$.widget("tizen.jlayoutadaptor", $.mobile.widget, { - options: { - hgap: null, - vgap: null, - scrollable: true, - showScrollBars: true, - direction: null - }, - - _create: function () { - var self = this, - options = this.element.data('layout-options'), - page = $(this.element).closest(':jqmData(role="page")'); - - $.extend(this.options, options); - - if (page && !page.is(':visible')) { - this.element.hide(); - - page.bind('pageshow', function () { - self.refresh(); - }); - } - else { - this.refresh(); - } - }, - - refresh: function () { - var container; - var config = $.extend(this.options, this.fixed); - - if (config.scrollable) { - if (!(this.element.children().is('.ui-scrollview-view'))) { - // create the scrollview - this.element.scrollview({direction: config.direction, - showScrollBars: config.showScrollBars}); - } - else if (config.showScrollBars) { - this.element.find('.ui-scrollbar').show(); - } - else { - this.element.find('.ui-scrollbar').hide(); - } - - container = this.element.find('.ui-scrollview-view'); - } - else { - container = this.element; - } - - container.layout(config); - - this.element.show(); - - if (config.scrollable) { - // get the right/bottom edge of the last child after layout - var lastItem = container.children().last(); - - var edge; - - var scrollview = this.element.find('.ui-scrollview-view'); - - if (config.direction === 'x') { - edge = lastItem.position().left + - lastItem.outerWidth(true); - - // set the scrollview's view width to the original width - scrollview.width(edge); - - // set the parent container's height to the height of - // the scrollview - this.element.height(scrollview.height()); - } - else if (config.direction === 'y') { - edge = lastItem.position().top + - lastItem.outerHeight(true); - - // set the scrollview's view height to the original height - scrollview.height(edge); - - // set the parent container's width to the width of the - // scrollview - this.element.width(scrollview.width()); - } - } - } -}); - -})(jQuery); diff --git a/src/widgets/common/js/jquery.mobile.tizen.scrollview.js b/src/widgets/common/js/jquery.mobile.tizen.scrollview.js index ffcc2a3..2a023e7 100644 --- a/src/widgets/common/js/jquery.mobile.tizen.scrollview.js +++ b/src/widgets/common/js/jquery.mobile.tizen.scrollview.js @@ -59,7 +59,7 @@ showScrollBars: true, overshootEnable: false, - outerScrollEnable: false, + outerScrollEnable: true, scrollJump: false, }, @@ -95,6 +95,7 @@ this._view_offset = this._$view.offset().top - this._$clip.offset().top; this._view_height = this._getViewHeight(); + this._clip_height = this._$clip.height(); this._sx = 0; this._sy = 0; @@ -141,8 +142,8 @@ } if ( vt ) { - c = this._$clip.height(); - v = this._getViewHeight(); + c = this._clip_height; + v = this._view_height; vt.start( this._sy, speedY, duration, (v > c) ? -(v - c) : 0, 0 ); @@ -178,6 +179,7 @@ var keepGoing = false, x = 0, y = 0, + scroll_height = 0, vt = this._vTracker, ht = this._hTracker; @@ -189,6 +191,16 @@ vt.update( this.options.overshootEnable ); y = vt.getPosition(); keepGoing = !vt.done(); + + if ( vt.getRemained() > this.options.overshootDuration ) { + scroll_height = this._view_height - this._clip_height; + + if ( vt.isMin() ) { + this._outerScroll( y - vt.getRemained() / 3, scroll_height ); + } else if ( vt.isMax() ) { + this._outerScroll( vt.getRemained() / 3, scroll_height ); + } + } } if ( ht ) { @@ -264,11 +276,9 @@ } if ( dirLock !== "x" && this._vTracker ) { - scroll_height = this._getViewHeight() - $c.height(); - - this._outerScroll( y, scroll_height ); + scroll_height = this._view_height - this._clip_height; - if ( y >= 0 ) { + if ( y > 0 ) { this._sy = 0; } else if ( y < -scroll_height ) { this._sy = -scroll_height; @@ -305,10 +315,10 @@ if ( sm === "translate" ) { this._setElementTransform( $sbt, "0px", - -y / this._getViewHeight() * $sbt.parent().height() + "px", + -y / this._view_height * $sbt.parent().height() + "px", duration ); } else { - $sbt.css( "top", -y / this._getViewHeight() * 100 + "%" ); + $sbt.css( "top", -y / this._view_height * 100 + "%" ); } } @@ -327,7 +337,7 @@ _outerScroll: function ( y, scroll_height ) { var self = this, - top = $( window ).scrollTop(), + top = $( window ).scrollTop() - window.screenTop, sy = 0, duration = this.options.snapbackDuration, start = getCurrentTime(), @@ -345,10 +355,6 @@ return; } - if ( !this._dragging ) { - return; - } - if ( scroll_height < 0 ) { return; } @@ -361,25 +367,23 @@ return; } - sy *= 10; - tfunc = function () { var elapsed = getCurrentTime() - start; if ( elapsed >= duration ) { window.scrollTo( 0, top + sy ); self._outerScrolling = undefined; + + self._stopMScroll(); } else { - ec = $.easing.easeOutQuad( elapsed / duration, elapsed, 0, 1, duration ); + ec = $.easing.easeOutQuad( elapsed / duration, + elapsed, 0, 1, duration ); window.scrollTo( 0, top + ( sy * ec ) ); self._outerScrolling = setTimeout( tfunc, self._timerInterval ); } }; this._outerScrolling = setTimeout( tfunc, self._timerInterval ); - - /* skip the srollview dragging */ - this._skip_dragging = true; }, _scrollTo: function ( x, y, duration ) { @@ -474,7 +478,7 @@ target.is( '.ui-btn-inner .ui-icon' ); if ( this._is_button ) { - if ( target.parents('.ui-slider-handle') ) { + if ( target.parents('.ui-slider-handle').length ) { this._skip_dragging = true; return; } @@ -489,13 +493,17 @@ if ( this._is_inputbox ) { target.one( "resize.scrollview", function () { - if ( ey > $c.height() ) { - self.scrollTo( -ex, self._sy - ey + $c.height(), + if ( ey > self._clip_height ) { + self.scrollTo( -ex, self._sy - ey + self._clip_height, self.options.snapbackDuration ); } }); } + if ( this.options.eventType === "mouse" && !this._is_inputbox && !this._is_button ) { + e.preventDefault(); + } + this._lastX = ex; this._lastY = ey; this._startY = ey; @@ -794,19 +802,21 @@ $c.bind( "updatelayout", function ( e ) { var sy, vh, + clip_h = $c.height(), view_h = self._getViewHeight(); - if ( !$c.height() || !view_h ) { + if ( !clip_h || !view_h ) { self.scrollTo( 0, 0, 0 ); return; } - sy = $c.height() - view_h; + sy = clip_h - view_h; vh = view_h - self._view_height; self._view_height = view_h; + self._clip_height = clip_h; - if ( vh == 0 || vh > $c.height() / 2 ) { + if ( vh == 0 || vh > clip_h / 2 ) { return; } @@ -821,13 +831,14 @@ $( window ).bind( "resize", function ( e ) { var focused, + clip_h = $c.height(), view_h = self._getViewHeight(); if ( $(".ui-page-active").get(0) !== $c.closest(".ui-page").get(0) ) { return; } - if ( !$c.height() || !view_h ) { + if ( !clip_h || !view_h ) { return; } @@ -839,23 +850,29 @@ /* calibration - after triggered throttledresize */ setTimeout( function () { - if ( self._sy < $c.height() - self._getViewHeight() ) { + self._view_height = self._getViewHeight(); + self._clip_height = $c.height(); + + if ( self._sy < self._clip_height - self._veiw_height ) { self.scrollTo( 0, self._sy, self.options.snapbackDuration ); } }, 260 ); self._view_height = view_h; + self._clip_height = clip_h; }); $c.closest(".ui-page") .one( "pageshow", function ( e ) { self._view_offset = self._$view.offset().top - self._$clip.offset().top; - self._view_height = self._getViewHeight(); }) .bind( "pageshow", function ( e ) { /* should be called after pagelayout */ setTimeout( function () { + self._view_height = self._getViewHeight(); + self._clip_height = self._$clip.height(); + self._set_scrollbar_size(); self._setScrollPosition( self._sx, self._sy ); self._showScrollBars( 2000 ); @@ -944,8 +961,8 @@ } if ( this._vTracker ) { - ch = $c.height(); - vh = this._getViewHeight(); + ch = this._clip_height; + vh = this._view_height; this._maxY = ch - vh; if ( this._maxY > 0 ) { @@ -988,6 +1005,7 @@ this.minPos = 0; this.maxPos = 0; this.duration = 0; + this.remained = 0; }, update: function ( overshootEnable ) { @@ -1005,6 +1023,8 @@ elapsed = elapsed > duration ? duration : elapsed; + this.remained = duration - elapsed; + if ( state === tstates.scrolling || state === tstates.overshot ) { dx = this.speed * ( 1 - $.easing[this.easing]( elapsed / duration, @@ -1022,6 +1042,9 @@ this.pos = x; if ( state === tstates.overshot ) { + if ( !overshootEnable ) { + this.state = tstates.done; + } if ( elapsed >= duration ) { this.state = tstates.snapback; this.fromPos = this.pos; @@ -1059,6 +1082,18 @@ return this.state === tstates.done; }, + isMin: function () { + return this.pos === this.minPos; + }, + + isMax: function () { + return this.pos === this.maxPos; + }, + + getRemained: function () { + return this.remained; + }, + getPosition: function () { return this.pos; } diff --git a/src/widgets/controlbar/js/jquery.mobile.tizen.controlbar.js b/src/widgets/controlbar/js/jquery.mobile.tizen.controlbar.js index de5e3c9..41c89f1 100755 --- a/src/widgets/controlbar/js/jquery.mobile.tizen.controlbar.js +++ b/src/widgets/controlbar/js/jquery.mobile.tizen.controlbar.js @@ -197,17 +197,16 @@ var $controlbar = this.element; $( window ).bind( "orientationchange", function ( e, ui ) { - ww = window.innerWidth || $( window ).width(); - wh = window.innerHeight || $( window ).height(); - - isLandscape = ww > wh && ( ww - wh ); + var ww = window.innerWidth || $( window ).width(), + wh = window.innerHeight || $( window ).height(), + isLandscape = ww > wh && ( ww - wh ); if ( isLandscape ) { $controlbar.removeClass( "ui-portrait-controlbar" ).addClass( "ui-landscape-controlbar" ); } else { $controlbar.removeClass( "ui-landscape-controlbar" ).addClass( "ui-portrait-controlbar" ); } - }) + }); }, diff --git a/src/widgets/datetimepicker/js/jquery.mobile.tizen.datetimepicker.js b/src/widgets/datetimepicker/js/jquery.mobile.tizen.datetimepicker.js index adeecc8..b97e649 100644 --- a/src/widgets/datetimepicker/js/jquery.mobile.tizen.datetimepicker.js +++ b/src/widgets/datetimepicker/js/jquery.mobile.tizen.datetimepicker.js @@ -302,7 +302,7 @@ this.options.date = newdate; - this._setValue( this.value() ); + this._setValue( newdate ); this.element.attr( "data-" + ( $.mobile.ns ? $.mobile.ns + "-" : "" ) + "date", this.options.date ); return this.options.date; @@ -526,7 +526,7 @@ switch ( field ) { case 'hour': - if ( pat == 'H' ) { + if ( pat == 'H' || pat == 'HH' ) { // twentyfour values = range( 0, 23 ); data = range( 0, 23 ); @@ -671,7 +671,7 @@ $div.jqmData( "list", $li ); $div.circularview(); // cause ctxpopup forced to subtract 10 - if( $(window).width() / 2 < target.offset().left ) { + if ( $( window ).width() / 2 < target.offset().left ) { newLeft = -10; } $ctx.popupwindow( 'open', @@ -734,8 +734,8 @@ $div.bind( 'scrollend' , function ( e ) { if ( !obj._reflow ) { obj._reflow = function () { - $div.circularview("reflow"); - }; + $div.circularview("reflow"); + }; $(window).bind("resize", obj._reflow); } }); diff --git a/src/widgets/extendablelist/js/jquery.mobile.tizen.extendablelist.js b/src/widgets/extendablelist/js/jquery.mobile.tizen.extendablelist.js index 28f30d8..74f42d8 100755 --- a/src/widgets/extendablelist/js/jquery.mobile.tizen.extendablelist.js +++ b/src/widgets/extendablelist/js/jquery.mobile.tizen.extendablelist.js @@ -182,7 +182,7 @@ recreate: function ( newArray ) { this._create( { - itemData: function ( idx ) { return newArray[ idx ] }, + itemData: function ( idx ) { return newArray[ idx ]; }, numItemData: newArray.length } ); }, @@ -235,7 +235,8 @@ _create: function ( args ) { var t = this, o = this.options, - $el = this.element; + $el = this.element, + dbtable_name; t.destroy(); @@ -279,9 +280,9 @@ console.warn("WARNING: The data interface of extendable list is changed. \nOld data interface(data-dbtable) is still supported, but will be removed in next version. \nPlease fix your code soon!"); if ( $( o.id ).hasClass( "elLoadSuccess" ) ) { - var dbtable_name = $el.jqmData('dbtable'); + dbtable_name = $el.jqmData('dbtable'); o.dbtable = window[ dbtable_name ]; - if( !(o.dbtable) ) { + if ( !(o.dbtable) ) { o.dbtable = { }; } t._itemData = function ( idx ) { @@ -332,13 +333,12 @@ destroy : function () { - var o = this.options; + var o = this.options, + eOTAL_ITEMS = 0, + last_index = 0; $( o.id ).empty(); - eOTAL_ITEMS = 0; - last_index = 0; - $( "#load_more_message" ).die(); }, diff --git a/src/widgets/handler/js/jquery.tizen.scrollview.handler.js b/src/widgets/handler/js/jquery.tizen.scrollview.handler.js index fc93e9a..debc3fe 100755 --- a/src/widgets/handler/js/jquery.tizen.scrollview.handler.js +++ b/src/widgets/handler/js/jquery.tizen.scrollview.handler.js @@ -88,6 +88,10 @@ return; } + if ( $( this ).jqmData("handler") !== true ) { + return; + } + var self = this, $this = $( this ), scrollview = $this.data( "scrollview" ), diff --git a/src/widgets/imageslider/js/jquery.mobile.tizen.imageslider.js b/src/widgets/imageslider/js/jquery.mobile.tizen.imageslider.js index b35f8ba..fc42b02 100755 --- a/src/widgets/imageslider/js/jquery.mobile.tizen.imageslider.js +++ b/src/widgets/imageslider/js/jquery.mobile.tizen.imageslider.js @@ -117,6 +117,9 @@ var img = this.images[index], img_top = 0; + if ( !obj) { + return; + } if ( !obj.length ) { return; } @@ -139,6 +142,9 @@ self._align( index, obj ); }; + if ( !obj) { + return; + } if ( !obj.length ) { return; } @@ -167,6 +173,9 @@ }, _detach: function ( index, obj ) { + if ( !obj) { + return; + } if ( !obj.length ) { return; } diff --git a/src/widgets/layout-box/js/layout-box.js b/src/widgets/layout-box/js/layout-box.js deleted file mode 100755 index 5eb6065..0000000 --- a/src/widgets/layout-box/js/layout-box.js +++ /dev/null @@ -1,149 +0,0 @@ -/* - * jQuery Mobile Widget @VERSION - * - * This software is licensed under the MIT licence (as defined by the OSI at - * http://www.opensource.org/licenses/mit-license.php) - * - * *************************************************************************** - * Copyright (C) 2011 by Intel Corporation Ltd. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * *************************************************************************** - * - * Authors: Elliot Smith - */ - -// Horizontal/vertical box layout extension. -// -// This will arrange the child elements of a container in a horizontal -// or vertical row. This only makes sense if your container is a div -// and contains children which are also divs; the children should -// also have a height and width set in CSS, otherwise the layout -// manager won't know what to do with them. -// -// Apply it by setting data-layout="hbox" or data-layout="vbox" (vertical -// on a container element or calling $(element).layouthbox() or -// $(element).layoutvbox(). -// -// Usually, you would use a div as the container to get the right effect -// (an element with display:block). -// -// Options can be set programmatically: -// -// $(element).layouthbox('option', 'scrollable', false) -// $(element).layoutvbox('option', 'scrollable', false) -// -// or via a data-layout-options attribute on the container: -// -//
    -//
    child 1
    -//
    child 2
    -//
    -// -//
    -//
    child 1
    -//
    child 2
    -//
    -// -// If you change any options after creating the widget, call -// $(element).layout*box('refresh') to have them picked up. -// However, note that it's currently not feasible to turn off scrolling -// once it's on (as calling scrollview('destroy') doesn't remove the -// scrollview custom mouse handlers). -// -// There is one major difference between the horizontal and -// vertical box layouts: if scrollable=false, the horizontal layout -// will clip children which overflow the edge of the parent container; -// by comparison, the vertical container will grow vertically to -// accommodate the height of its children. This mirrors the behaviour -// of jQuery Mobile, where elements only ever expand horizontally -// to fill the width of the window; but will expand vertically forever, -// unless the page height is artificially constrained. -// -// Options: -// -// {Integer} hgap (default=0) -// Horizontal gap (in pixels) between the child elements. Only has -// an effect on hbox. -// -// {Integer} vgap (default=0) -// Vertical gap (in pixels) between the child elements. Only has -// an effect on vbox. -// -// {Boolean} scrollable (default=true; can only be set at create time) -// Set to true to enable a scrollview on the -// container. If false, children will be clipped if -// they fall outside the edges of the container after -// layouting. -// -// {Boolean} showScrollBars (default=true) -// Set to false to hide scrollbars on the container's scrollview. -// Has no effect is scrollable=false - -(function ( $, undefined ) { - - // hbox - $.widget( "tizen.layouthbox", $.tizen.jlayoutadaptor, { - fixed: { - type: 'flexGrid', - rows: 1, - direction: 'x', - initSelector: ':jqmData(layout="hbox")' - }, - - _create: function () { - if ( !this.options.hgap ) { - this.options.hgap = 0; - } - - $.tizen.jlayoutadaptor.prototype._create.apply( this, arguments ); - } - } ); - - $( document ).bind( "pagecreate", function ( e ) { - $( $.tizen.layouthbox.prototype.fixed.initSelector, e.target ) - .not( ":jqmData(role='none'), :jqmData(role='nojs')" ) - .layouthbox(); - } ); - - // vbox - $.widget( "tizen.layoutvbox", $.tizen.jlayoutadaptor, { - fixed: { - type: 'flexGrid', - columns: 1, - direction: 'y', - initSelector: ':jqmData(layout="vbox")' - }, - - _create: function () { - if ( !this.options.vgap ) { - this.options.vgap = 0; - } - - $.tizen.jlayoutadaptor.prototype._create.apply( this, arguments ); - } - } ); - - $( document ).bind( "pagecreate", function ( e ) { - $( $.tizen.layoutvbox.prototype.fixed.initSelector, e.target ) - .not( ":jqmData(role='none'), :jqmData(role='nojs')" ) - .layoutvbox(); - } ); - -}( jQuery ) ); diff --git a/src/widgets/listdivider/js/jquery.mobile.tizen.listdivider.js b/src/widgets/listdivider/js/jquery.mobile.tizen.listdivider.js index 940e29e..ff6c5ef 100755 --- a/src/widgets/listdivider/js/jquery.mobile.tizen.listdivider.js +++ b/src/widgets/listdivider/js/jquery.mobile.tizen.listdivider.js @@ -18,7 +18,7 @@ style = $listdivider.attr( "data-style" ); if ( style === "expandable" || style === "checkexpandable" ) { - openStatus ? iconStatus = "opened" : iconStatus = "closed"; + iconStatus = openStatus ? "opened" : "closed"; expandSrc = ""; $( expandSrc ).appendTo( $listdivider ); diff --git a/src/widgets/listviewcontrols/js/listviewcontrols.js b/src/widgets/listviewcontrols/js/listviewcontrols.js deleted file mode 100755 index 97e1680..0000000 --- a/src/widgets/listviewcontrols/js/listviewcontrols.js +++ /dev/null @@ -1,303 +0,0 @@ -/* - * jQuery Mobile Widget @VERSION - listview controls - * - * This software is licensed under the MIT licence (as defined by the OSI at - * http://www.opensource.org/licenses/mit-license.php) - * - * *************************************************************************** - * Copyright (C) 2011 by Intel Corporation Ltd. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * *************************************************************************** - * - * Authors: Elliot Smith - */ - -// This extension supplies API to toggle the "mode" in which a list -// is displayed. The modes available is configurable, but defaults -// to ['edit', 'view']. A list can also have a control panel associated -// with it. The visibility of the control panel is governed by the current -// mode (by default, it is visible in 'edit' mode); elements within -// the listview can also be marked up to be visible in one or more of the -// available modes. -// -// One example use case would be a control panel with a "Select all" checkbox -// which, when clicked, selects all of the checkboxes in the associated -// listview items. -// -// The control panel itself should be defined as a form element. -// By default, the control panel will be hidden when the listview is -// initialised, unless you supply mode="edit" as a -// data-listview-controls option (when using the default modes). If you -// want the control panel to be visible in some mode other than -// the default, use a data-listviewcontrols-show-in="" attribute -// on the control panel element. -// -// Example usage (using the default 'edit' and 'view' modes): -// -// -//
    -//
    -// -// -//
    -//
    -// -// -//
      -// -//
    • -// -// -//
      -// -// -//
      -// -// -// Greg -// -//
    • -// -// ... more li elements marked up the same way ... -// -//
    -// -// To associate the listview with the control panel, add -// data-listviewcontrols="..selector.." to a listview, where -// selector selects a single element (the control panel -// you defined). You can then call -// listviewcontrols('option', 'mode', '') on the -// listview to set the mode. -// -// Inside the listview's items, add controls to each item -// which are only visible when in one of the modes. To do this, -// add form elements (e.g. checkboxes) to the items as you see fit. Then, -// mark each form element with data-listviewcontrols-show-in="". -// The control's visibility now depends on the mode of the listviewcontrols: -// it is only shown when its setting matches the current mode -// of the listviewcontrols widget. You are responsible for properly -// styling the form elements inside the listview so the listview looks -// correct when they are hidden or visible. -// -// The control panel (by default, visible when in "show" mode) is flexible -// and can contain any valid form elements (or other jqm components). It's -// up to you to define the behaviour associated with interactions on -// the control panel and/or controls inside list items. -// -// Methods: -// -// visibleListItems -// Returns a jQuery object containing all the li elements in the -// listview which are currently visible and not dividers. (This -// is just a convenience to make operating on the list as a whole -// slightly simpler.) -// -// Options (set in options hash passed to constructor, or via the -// option method, or declaratively by attribute described below): -// -// controlPanelSelector {String} -// Selector string for selecting the element representing the -// control panel for the listview. The context for find() is the -// document (to give the most flexibility), so your selector -// should be specific. Set declaratively with -// data-listviewcontrols="...selector...". -// -// modesAvailable {String[]; default=['edit', 'view']} -// An array of the modes available for these controls. -// -// mode {String; default='view'} -// Current mode for the widget, which governs the visibility -// of the listview control panel and any elements marked -// with data-listviewcontrols-show-in="". -// Set declaratively with -// data-listviewcontrols-options='{"mode":""}'. -// -// controlPanelShowIn {String; default=modesAvailable[0]} -// The mode in which the control panel is visible; defaults to the -// first element of modesAvailable. Can be set declaratively -// on the listview controls element with -// data-listviewcontrols-show-in="" - -(function ($) { - - $.widget( "todons.listviewcontrols", $.mobile.widget, { - _defaults: { - controlPanelSelector: null, - modesAvailable: ['edit', 'view'], - mode: 'view', - controlPanelShowIn: null - }, - - _listviewCssClass: 'ui-listviewcontrols-listview', - _controlsCssClass: 'ui-listviewcontrols-panel', - - _create: function () { - var self = this, - o = this.options, - optionsValid = true, - page = this.element.closest( '.ui-page' ), - controlPanelSelectorAttr = 'data-' + $.mobile.ns + 'listviewcontrols', - controlPanelSelector = this.element.attr( controlPanelSelectorAttr ), - dataOptions = this.element.jqmData( 'listviewcontrols-options' ), - controlPanelShowInAttr; - - o.controlPanelSelector = o.controlPanelSelector || controlPanelSelector; - - // precedence for options: defaults < jqmData attribute < options arg - o = $.extend( {}, this._defaults, dataOptions, o ); - - optionsValid = ( this._validOption( 'modesAvailable', o.modesAvailable, o ) && - this._validOption( 'controlPanelSelector', o.controlPanelSelector, o ) && - this._validOption( 'mode', o.mode, o ) ); - - if ( !optionsValid ) { - return false; - } - - // get the controls element - this.controlPanel = $( document ).find( o.controlPanelSelector ).first(); - - if ( this.controlPanel.length === 0 ) { - return false; - } - - // once we have the controls element, we may need to override the - // mode in which controls are shown - controlPanelShowInAttr = this.controlPanel.jqmData( 'listviewcontrols-show-in' ); - if ( controlPanelShowInAttr ) { - o.controlPanelShowIn = controlPanelShowInAttr; - } else if ( !o.controlPanelShowIn ) { - o.controlPanelShowIn = o.modesAvailable[0]; - } - - if ( !this._validOption( 'controlPanelShowIn', o.controlPanelShowIn, o ) ) { - return; - } - - // done setting options - this.options = o; - - // mark the controls and the list with a class - this.element.removeClass(this._listviewCssClass).addClass(this._listviewCssClass); - this.controlPanel.removeClass(this._controlsCssClass).addClass(this._controlsCssClass); - - // show the widget - if ( page && !page.is( ':visible' ) ) { - page.bind( 'pageshow', function () { self.refresh(); } ); - } else { - this.refresh(); - } - }, - - _validOption: function ( varName, value, otherOptions ) { - var ok = false, - i = 0; - - if ( varName === 'mode' ) { - ok = ( $.inArray( value, otherOptions.modesAvailable ) >= 0 ); - } else if ( varName === 'controlPanelSelector' ) { - ok = ( $.type( value ) === 'string' ); - } else if ( varName === 'modesAvailable' ) { - ok = ( $.isArray( value ) && value.length > 1 ); - - if ( ok ) { - for ( i = 0; i < value.length; i++ ) { - if ( value[i] === '' || $.type( value[i] ) !== 'string' ) { - ok = false; - } - } - } - } else if ( varName === 'controlPanelShowIn' ) { - ok = ( $.inArray( value, otherOptions.modesAvailable ) >= 0 ); - } - - return ok; - }, - - _setOption: function ( varName, value ) { - var oldValue = this.options[varName]; - - if ( oldValue !== value && this._validOption( varName, value, this.options ) ) { - this.options[varName] = value; - this.refresh(); - } - }, - - visibleListItems: function () { - return this.element.find( 'li:not(:jqmData(role=list-divider)):visible' ); - }, - - refresh: function () { - var self = this, - triggerUpdateLayout = false, - isVisible = null, - showIn, - modalElements; - - // hide/show the control panel and hide/show controls inside - // list items based on their "show-in" option - isVisible = this.controlPanel.is( ':visible' ); - - if ( this.options.mode === this.options.controlPanelShowIn ) { - this.controlPanel.show(); - } else { - this.controlPanel.hide(); - } - - if ( this.controlPanel.is( ':visible' ) !== isVisible ) { - triggerUpdateLayout = true; - } - - // we only operate on elements inside list items which aren't dividers - modalElements = this.element - .find( 'li:not(:jqmData(role=list-divider))' ) - .find( ':jqmData(listviewcontrols-show-in)' ); - - modalElements.each(function () { - showIn = $( this ).jqmData( 'listviewcontrols-show-in' ); - - isVisible = $( this ).is( ':visible' ); - - if ( showIn === self.options.mode ) { - $( this ).show(); - } else { - $( this ).hide(); - } - - if ( $( this ).is( ':visible' ) !== isVisible ) { - triggerUpdateLayout = true; - } - } ); - - if ( triggerUpdateLayout ) { - this.element.trigger( 'updatelayout' ); - } - } - } ); - - $( 'ul' ).live( 'listviewcreate', function () { - var list = $(this); - - if ( list.is( ':jqmData(listviewcontrols)' ) ) { - list.listviewcontrols(); - } - } ); - -}( jQuery ) ); diff --git a/src/widgets/multibuttonentry/js/jquery.mobile.tizen.multibuttonentry.js b/src/widgets/multibuttonentry/js/jquery.mobile.tizen.multibuttonentry.js index 202f5ac..37323d9 100755 --- a/src/widgets/multibuttonentry/js/jquery.mobile.tizen.multibuttonentry.js +++ b/src/widgets/multibuttonentry/js/jquery.mobile.tizen.multibuttonentry.js @@ -21,6 +21,7 @@ * *************************************************************************** * * Author: Kangsik Kim + * Minkyeong Kim */ /** @@ -124,10 +125,10 @@ $view.append( inputbox ); // create a anchor tag. - if ( option.listId === null || $.trim(option.listId).length < 1 ) { + if ( option.listId === null || $.trim(option.listId).length < 1 ) { className += "-dim"; } - $( moreBlock ).text( "+" ).attr( "href", $.trim(option.listId)).addClass( "ui-multibuttonentry-link-base" ).addClass( className ); + $( moreBlock ).text( "+" ).attr( "href", $.trim(option.listId) ).addClass( "ui-multibuttonentry-link-base" ).addClass( className ); // append default htmlelements to main widget. $view.append( moreBlock ); @@ -158,6 +159,21 @@ moreBlock = $view.find( ".ui-multibuttonentry-link-base" ), isSeparator = false; + // delegate a event to HTMLDivElement(each block). + $view.delegate( "div", "vclick", function ( event ) { + if ( $( this ).hasClass( "ui-multibuttonentry-sblock" ) ) { + // If block is selected, it will be removed. + self._removeTextBlock(); + } + + var lockBlock = $view.find( "div.ui-multibuttonentry-sblock" ); + if ( typeof lockBlock !== "undefined" ) { + lockBlock.removeClass( "ui-multibuttonentry-sblock" ).addClass( "ui-multibuttonentry-block" ); + } + $( this ).removeClass( "ui-multibuttonentry-block" ).addClass( "ui-multibuttonentry-sblock" ); + self._trigger( "select" ); + }); + inputbox.bind( "keyup", function ( event ) { // 8 : backspace // 13 : Enter @@ -202,8 +218,8 @@ transition: "slide", reverse: false, changeHash: false - } ); - } ); + }); + }); $( document ).bind( "pagechange.mbe", function ( event ) { if ( $view.innerWidth() === 0 ) { @@ -236,7 +252,7 @@ return; } - if ( ! messages ) { + if ( !messages ) { return ; } @@ -245,38 +261,17 @@ content = messages, index = blockIndex, blocks = null, - dataBlock = null, - displayText = null, textBlock = null; if ( self._viewWidth === 0 ) { self._viewWidth = $view.innerWidth(); } - // save src data - dataBlock = $( document.createElement( 'input' ) ); - dataBlock.attr( "value", content ).addClass( "ui-multibuttonentry-data" ).hide(); - // Create a new text HTMLDivElement. textBlock = $( document.createElement( 'div' ) ); - displayText = self._ellipsisTextBlock( content ) ; - textBlock.text( displayText ).addClass( "ui-multibuttonentry-block" ); - textBlock.append( dataBlock ); - // bind a event to HTMLDivElement. - textBlock.bind( "vclick", function ( event ) { - if ( $( this ).hasClass( "ui-multibuttonentry-sblock" ) ) { - // If block is selected, it will be removed. - self._removeTextBlock(); - } - - var lockBlock = $view.find( "div.ui-multibuttonentry-sblock" ); - if ( typeof lockBlock != "undefined" ) { - lockBlock.removeClass( "ui-multibuttonentry-sblock" ).addClass( "ui-multibuttonentry-block" ); - } - $( this ).removeClass( "ui-multibuttonentry-block" ).addClass( "ui-multibuttonentry-sblock" ); - self._trigger( "select" ); - }); + textBlock.text( content ).addClass( "ui-multibuttonentry-block" ); + textBlock.css( {'visibility': 'hidden'} ); blocks = $view.find( "div" ); if ( index !== null && index <= blocks.length ) { @@ -285,6 +280,9 @@ $view.find( ".ui-multibuttonentry-input" ).before( textBlock ); } + textBlock = self._ellipsisTextBlock( textBlock ); + textBlock.css( {'visibility': 'visible'} ); + self._currentWidth += self._calcBlockWidth( textBlock ); self._modifyInputBoxWidth(); self._trigger( "add" ); @@ -293,7 +291,6 @@ _removeTextBlock : function () { var self = this, $view = this.element, - targetBlock = null, lockBlock = $view.find( "div.ui-multibuttonentry-sblock" ); if ( lockBlock !== null && lockBlock.length > 0 ) { @@ -307,15 +304,13 @@ }, _calcBlockWidth : function ( block ) { - var blockWidth = 0; - blockWidth = $( block ).outerWidth( true ); - return blockWidth; + return $( block ).outerWidth( true ); }, _unlockTextBlock : function () { var $view = this.element, lockBlock = $view.find( "div.ui-multibuttonentry-sblock" ); - if ( lockBlock !== null ) { + if ( !lockBlock ) { lockBlock.removeClass( "ui-multibuttonentry-sblock" ).addClass( "ui-multibuttonentry-block" ); } }, @@ -336,35 +331,28 @@ } }, - _ellipsisTextBlock : function ( text ) { + _ellipsisTextBlock : function ( textBlock ) { var self = this, - str = text, - length = 0, - maxWidth = self._viewWidth, - maxCharCnt = parseInt( ( self._viewWidth / self._fontSize ), 10 ) - 5, - ellipsisStr = null; - if ( str ) { - length = str.length ; - if ( length > maxCharCnt ) { - ellipsisStr = str.substring( 0, maxCharCnt ); - ellipsisStr += "..."; - } else { - ellipsisStr = str; - } + $view = self.element, + maxWidth = $view.innerWidth() - ( self._labelWidth + self._anchorWidth ) * 2; + + if ( self._calcBlockWidth( textBlock ) > maxWidth ) { + $( textBlock ).width( maxWidth - self._marginWidth ); } - return ellipsisStr; + + return textBlock; }, _modifyInputBoxWidth : function () { var self = this, $view = self.element, + margin = self._marginWidth, labelWidth = self._labelWidth, anchorWidth = self._anchorWidth, - inputBoxWidth = self._viewWidth - labelWidth - anchorWidth, + inputBoxWidth = self._viewWidth - labelWidth, blocks = $view.find( "div" ), blockWidth = 0, index = 0, - margin = self._marginWidth, inputBox = $view.find( ".ui-multibuttonentry-input" ); if ( $view.width() === 0 ) { @@ -373,16 +361,27 @@ for ( index = 0; index < blocks.length; index += 1 ) { blockWidth = self._calcBlockWidth( blocks[index] ); - inputBoxWidth = inputBoxWidth - blockWidth; - if ( inputBoxWidth <= 0 ) { - if ( inputBoxWidth + anchorWidth >= 0 ) { - inputBoxWidth = self._viewWidth - anchorWidth; + + if ( blockWidth >= inputBoxWidth + anchorWidth ) { + if ( blockWidth >= inputBoxWidth ) { + inputBoxWidth = self._viewWidth - blockWidth; } else { - inputBoxWidth = self._viewWidth - blockWidth - anchorWidth; + inputBoxWidth = self._viewWidth ; + } + } else { + if ( blockWidth >= inputBoxWidth ) { + inputBoxWidth = self._viewWidth - blockWidth; + } else { + inputBoxWidth -= blockWidth; } } } - $( inputBox ).width( inputBoxWidth - margin - 1 ); + + inputBoxWidth -= margin; + if ( inputBoxWidth < anchorWidth * 2 ) { + inputBoxWidth = self._viewWidth - margin; + } + $( inputBox ).width( inputBoxWidth - anchorWidth ); }, _stringFormat : function ( expression ) { @@ -396,21 +395,16 @@ return message; }, - _resizeBlock : function () { + _resizeBlocks : function () { var self = this, $view = self.element, - dataBlocks = $( ".ui-multibuttonentry-data" ), blocks = $view.find( "div" ), - srcTexts = [], index = 0; - $view.hide(); - for ( index = 0 ; index < dataBlocks.length ; index += 1 ) { - srcTexts[index] = $( dataBlocks[index] ).val(); - self._addTextBlock( srcTexts[index] ); + for ( index = 0 ; index < blocks.length ; index += 1 ) { + $( blocks[index] ).css( "width", "auto" ); + blocks[index] = self._ellipsisTextBlock( blocks[index] ); } - blocks.remove(); - $view.show(); }, //---------------------------------------------------- // @@ -507,9 +501,9 @@ if ( arguments.length === 0 ) { // return a selected block. - lockBlock = $view.find( "div.ui-multibuttonentry-sblock" ).children( ".ui-multibuttonentry-data" ); + lockBlock = $view.find( "div.ui-multibuttonentry-sblock" ); if ( lockBlock) { - return lockBlock.attr( "value" ); + return lockBlock.text(); } return null; } @@ -558,16 +552,19 @@ }, refresh : function () { - var self = this; - self.element.hide(); - self.element.show(); + var self = this, + $view = this.element; + + self._viewWidth = $view.innerWidth(); + self._resizeBlocks(); + self._modifyInputBoxWidth(); }, destroy : function () { var $view = this.element; $view.find( "label" ).remove(); - $view.find( "div" ).unbind( "vclick" ).remove(); + $view.find( "div" ).undelegate( "vclick" ).remove(); $view.find( "a" ).remove(); $view.find( ".ui-multibuttonentry-input" ).unbind( "keyup" ).remove(); diff --git a/src/widgets/notification/js/jquery.mobile.tizen.notification.js b/src/widgets/notification/js/jquery.mobile.tizen.notification.js index 613d9d4..28db3a4 100644 --- a/src/widgets/notification/js/jquery.mobile.tizen.notification.js +++ b/src/widgets/notification/js/jquery.mobile.tizen.notification.js @@ -201,13 +201,10 @@ _set_position: function () { var container = this._get_container(), - container_h = parseFloat( container.height() ), - $page = $('.ui-page'), - $footer = $page.children('.ui-footer'), - footer_h = $footer.outerHeight() || 0, - position = $( window ).height() - container_h - footer_h; + $footer = $('.ui-page-active').children('.ui-footer'), + footer_h = $footer.outerHeight() || 0; - container.css( 'top', position ); + container.css( 'bottom', footer_h); }, _create: function () { diff --git a/src/widgets/pagelayout/js/jquery.mobile.tizen.pagelayout.js b/src/widgets/pagelayout/js/jquery.mobile.tizen.pagelayout.js index dd1fb27..9e3bb3c 100755 --- a/src/widgets/pagelayout/js/jquery.mobile.tizen.pagelayout.js +++ b/src/widgets/pagelayout/js/jquery.mobile.tizen.pagelayout.js @@ -295,7 +295,8 @@ if ( !o.visibleOnPageShow ) { self.hide( true ); } - self._IMEShown = false; +/* IME concenpt change after alpha2.0 */ +/* self._IMEShown = false;*/ self.setHeaderFooter( event ); } ) .bind( "webkitAnimationStart animationstart updatelayout", function ( e, data ) { @@ -311,7 +312,8 @@ if ( o.updatePagePadding ) { $( window ).bind( "throttledresize." + self.widgetName, function () { self.updatePagePadding(); // FIXME: unused function. - self.layoutPageIME(); // IME/resize reposition +/* IME concenpt change after alpha2.0 */ +/* self.layoutPageIME();*/ self.updatePageLayout(); self._updateHeaderArea(); }); @@ -373,7 +375,8 @@ }, _visible: true, - _IMEShown : false, +/* IME concenpt change after alpha2.0 */ +/* _IMEShown : false, _IMEindicatorHeight : window.outerHeight - window.innerHeight, layoutPageIME: function () { @@ -381,8 +384,6 @@ || $(".ui-page-active .ui-header .input-search-bar").length || $(".ui-page-active .ui-content").find("input").length || $(".ui-page-active .ui-content").find("textarea").length) { - /* Check vertical and horizontal ratio. - * If focus on input and two values are different, IME is drawed. */ if ( ( window.innerHeight + this._IMEindicatorHeight ) < window.outerHeight && window.innerWidth == window.outerWidth ) { if ( this._IMEShown === false ) { @@ -404,7 +405,7 @@ } } }, - +*/ // This will set the content element's top or bottom padding equal to the toolbar's height updatePagePadding: function (data) { var $el = this.element, diff --git a/src/widgets/pagelist/css/pagelist.css b/src/widgets/pagelist/css/pagelist.css deleted file mode 100644 index 4149d05..0000000 --- a/src/widgets/pagelist/css/pagelist.css +++ /dev/null @@ -1,3 +0,0 @@ -.ui-pagelist { - text-align: center; -} diff --git a/src/widgets/pagelist/js/jquery.mobile.tizen.pagelist.js b/src/widgets/pagelist/js/jquery.mobile.tizen.pagelist.js deleted file mode 100755 index dec184a..0000000 --- a/src/widgets/pagelist/js/jquery.mobile.tizen.pagelist.js +++ /dev/null @@ -1,146 +0,0 @@ -/* - * - * This software is licensed under the MIT licence (as defined by the OSI at - * http://www.opensource.org/licenses/mit-license.php) - * - * *************************************************************************** - * Copyright (c) 2011 by Intel Corporation Ltd. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * *************************************************************************** - */ - -// pagelist widget -// -// Given an element, this widget collects all links contained in the descendants of the element and constructs -// a popupwindow widget containing numbered buttons for each encountered link. -// -// You can mark any one element in your document with "data-pagelist='true'" and a pagelist will be created that -// will allow the user to navigate between the pages linked to within the element. -// -// Currently, only one pagelist can exist in a document and, once created, it cannot be modified. - -(function ( $, undefined ) { - - window.ensureNS( "jQuery.mobile.tizen" ); - - $.widget( "tizen.pagelist", $.tizen.widgetex, { - _htmlProto: { - ui: { - pageList: "#pagelist", - button: "#pagelist-button", - rowBreak: "#pagelist-rowbreak" - } - }, - _create: function () { - var self = this, - popPageList = false, - idx = 0; - - this._ui.button.remove(); - this._ui.rowBreak.remove(); - this._ui.pageList - .appendTo( $( "body" ) ) - .popupwindow() - .bind( "vclick", function ( e ) { - $( this ).popupwindow( "close" ); - } ); - - this.element.find( "a[href]" ).each( function ( elemIdx, elem ) { - if ( idx > 0 && ( ( idx % 10 ) != 0 ) ) { - self._ui.pageList.append( self._ui.rowBreak.clone() ); - } - - self._ui.button - .clone() - .attr( "href", $( elem ).attr( "href" ) ) - .text( ++idx ) - .appendTo( self._ui.pageList ) - .buttonMarkup() - .bind( "vclick", function () { self._ui.pageList.popupwindow( "close" ); } ) - .find( ".ui-btn-inner" ) - .css( { padding: 2 } ); - } ); - - $( document ).bind( "keydown", function ( e ) { - popPageList = ( e.keyCode === $.mobile.keyCode.CONTROL ); - } ); - $( document ).bind( "keyup", function ( e ) { - if ( e.keyCode === $.mobile.keyCode.CONTROL && popPageList ) { - var maxDim = { cx: 0, cy: 0 }; - self._ui.pageList.popupwindow( "open", undefined, 0 ); - self._ui.pageList.find( "a" ) - .each( function () { - var btn = $( this ), - dim = { - cx: btn.outerWidth( true ), - cy: btn.outerHeight( true ) - }; - - // Make sure things will be even later, because padding cannot have decimals - apparently :-S - if ( dim.cx % 2 ) { - btn.css( "padding-left", parseInt( btn.css( "padding-left" ), 10 ) + 1 ); - } - if ( dim.cy % 2 ) { - btn.css( "padding-bottom", parseInt( btn.css( "padding-bottom" ), 10 ) + 1 ); - } - - maxDim.cx = Math.max( maxDim.cx, dim.cx ); - maxDim.cy = Math.max( maxDim.cy, dim.cy ); - } ) - .each( function () { - var padding = { - h: Math.max( 0, ( maxDim.cx - $( this ).outerWidth( true ) ) / 2 ), - v: Math.max( 0, ( maxDim.cy - $( this ).outerHeight( true ) ) / 2 ) - }, - btn = $( this ), - inner = btn.find( ".ui-btn-inner" ); - - inner.css( { - "padding-left" : parseInt( inner.css( "padding-left" ), 10 ) + padding.h, - "padding-top" : parseInt( inner.css( "padding-top" ), 10 ) + padding.v, - "padding-right" : parseInt( inner.css( "padding-right" ), 10 ) + padding.h, - "padding-bottom" : parseInt( inner.css( "padding-bottom" ), 10 ) + padding.v - } ); - btn[( ( btn.attr( "href" ) === "#" + $.mobile.activePage.attr( "id" ) ) ? "addClass" : "removeClass" )]( "ui-btn-active" ); - } ); - e.stopPropagation(); - e.preventDefault(); - } - popPageList = false; - } ); - } - } ); - - // Look for an element marked as a pagelist and assign $.mobile.tizen.pagelist with a newly created pagelist. - // If $.mobile.tizen.pagelist is already assigned, ignore any new "data-pagelist='true'" designations. - $( document ).bind( "pagecreate create", function ( e ) { - $( ":jqmData(pagelist='true')", e.target ) - .not( ":jqmData(role='none'), :jqmData(role='nojs')" ) - .each( function () { - if ( $.mobile.tizen.pagelist === undefined ) { - $.extend( $.mobile.tizen, { - pagelist: $( this ).pagelist() - } ); - } - return false; - } ); - } ); - -}( jQuery ) ); diff --git a/src/widgets/pagelist/proto-html/pagelist.prototype.html b/src/widgets/pagelist/proto-html/pagelist.prototype.html deleted file mode 100644 index 024388d..0000000 --- a/src/widgets/pagelist/proto-html/pagelist.prototype.html +++ /dev/null @@ -1,4 +0,0 @@ -
    - -

    -
    diff --git a/src/widgets/popupwindow/js/jquery.mobile.popup.js b/src/widgets/popupwindow/js/jquery.mobile.popup.js index 4558292..0018dbb 100644 --- a/src/widgets/popupwindow/js/jquery.mobile.popup.js +++ b/src/widgets/popupwindow/js/jquery.mobile.popup.js @@ -94,9 +94,7 @@ define( [ "jquery", this.element.trigger( "popupbeforeposition" ); this._ui.container .removeClass( "ui-selectmenu-hidden" ) - .offset( this._placementCoords( this._desiredCoords( undefined, undefined, "window" ) ) ) - .attr( "tabindex", "0" ) - .focus(); + .offset( this._placementCoords( this._desiredCoords( undefined, undefined, "window" ) ) ); this._resizeData = null; this._orientationchangeInProgress = false; @@ -477,7 +475,6 @@ define( [ "jquery", _openPrereqsComplete: function() { this._ui.container.addClass( "ui-popup-active" ); this._isOpen = true; - this._ui.container.attr( "tabindex", "0" ).focus(); this.element.trigger( "popupafteropen" ); }, diff --git a/tests/unit-tests/gallery3d/gallery3d-tests.js b/tests/unit-tests/gallery3d/gallery3d-tests.js new file mode 100755 index 0000000..85d7314 --- /dev/null +++ b/tests/unit-tests/gallery3d/gallery3d-tests.js @@ -0,0 +1,99 @@ +/* + * Unit Test: Gallery3d + * + * Wonseop Kim + */ + +(function ($) { + $.mobile.defaultTransition = "none"; + + module("Galley3d"); + + asyncTest( "create & select", function() { + var widget = $( "#galley3dTest1" ), + imageList = [], + path = widget.attr( "data-json-url" ), + key = widget.attr( "data-json-key" ), + elem = "ui-gallery3d"; + + $.ajax({ + async : false, + url : path, + dataType: "json", + success : function ( result ) { + imageList = result[key]; + } + }); + + /* Create */ + widget.gallery3d(); + ok( widget.hasClass( elem ), "Create" ); + + /* API */ + widget.gallery3d( "select", 1 ); + setTimeout( function () { + equal( widget.gallery3d( "select" ), imageList[1].src, "API : select" ); + start(); + }, 2400 ); + }); + + asyncTest( "remove", function() { + var widget = $( "#galley3dTest2" ), + imageList = [], + path = widget.attr( "data-json-url" ), + key = widget.attr( "data-json-key" ), + currentSource; + + $.ajax({ + async : false, + url : path, + dataType: "json", + success : function ( result ) { + imageList = result[key]; + } + }); + + widget.gallery3d(); + currentSource = widget.gallery3d( "select" ); + + /* API */ + widget.gallery3d( "remove" ); + notEqual( widget.gallery3d( "select" ), currentSource, "API : remove" ); + start(); + }); + + asyncTest( "move", function() { + var widget = $( "#galley3dTest3" ), + imageList = [], + path = widget.attr( "data-json-url" ), + key = widget.attr( "data-json-key" ), + currentSource; + + $.ajax({ + async : false, + url : path, + dataType: "json", + success : function ( result ) { + imageList = result[key]; + } + }); + + widget.gallery3d(); + currentSource = widget.gallery3d( "select" ); + + /* API */ + widget.gallery3d( "moveNext" ); + setTimeout( function () { + equal( widget.gallery3d( "select" ), imageList[1].src, "API : moveNext" ); + start(); + + stop(); + widget.gallery3d( "movePrev" ); + setTimeout( function () { + equal( widget.gallery3d( "select" ), imageList[0].src, "API : movePrev" ); + start(); + }, 300 ); + }, 2400 ); + }); + +}( jQuery )); diff --git a/tests/unit-tests/gallery3d/index.html b/tests/unit-tests/gallery3d/index.html new file mode 100755 index 0000000..7935a4b --- /dev/null +++ b/tests/unit-tests/gallery3d/index.html @@ -0,0 +1,65 @@ + + + + + + + + + + + + + Galley3d + + + + +

    Galley3d

    +

    +
    +

    +
      + +
      + +
      +
      +

      Galley3d

      +
      +
      +
      +
      +
      + +
      +
      +

      Galley3d

      +
      +
      +
      +
      +
      + +
      +
      +

      Galley3d

      +
      +
      +
      +
      +
      + +
      + + + diff --git a/tests/unit-tests/multibuttonentry/multibuttonentry-tests.js b/tests/unit-tests/multibuttonentry/multibuttonentry-tests.js index e33f222..3af8705 100755 --- a/tests/unit-tests/multibuttonentry/multibuttonentry-tests.js +++ b/tests/unit-tests/multibuttonentry/multibuttonentry-tests.js @@ -2,10 +2,11 @@ * Unit Test: multibuttonentry * * Kangsik Kim + * Minkyeong Kim */ -(function ($) { - module("Multibuttonentry"); +(function ( $ ) { + module( "Multibuttonentry" ); var unit_multibuttonentry = function ( widget, type ) { var multibuttonentry, @@ -15,51 +16,51 @@ /* Create */ multibuttonentry = widget.multibuttonentry(); - ok(multibuttonentry.length > 0, "Create"); + ok( multibuttonentry.length > 0, "Create" ); /* length */ - equal( multibuttonentry.multibuttonentry("length"), 0, "API : length "); + equal( multibuttonentry.multibuttonentry( "length" ), 0, "API : length" ); /* Add */ - multibuttonentry.multibuttonentry("add", "string1"); - equal(multibuttonentry.multibuttonentry("length"), 1, "API: add('string1') "); - multibuttonentry.multibuttonentry("add", "string2"); - equal(multibuttonentry.multibuttonentry("length"), 2, "API: add('string2') "); - multibuttonentry.multibuttonentry("add", "string3"); - equal(multibuttonentry.multibuttonentry("length"), 3, "API: add('string3') "); + multibuttonentry.multibuttonentry( "add", "string1" ); + equal( multibuttonentry.multibuttonentry( "length" ), 1, "API : add( 'string1' )" ); + multibuttonentry.multibuttonentry( "add", "string2" ); + equal( multibuttonentry.multibuttonentry( "length" ), 2, "API : add( 'string2' )" ); + multibuttonentry.multibuttonentry( "add", "string3" ); + equal( multibuttonentry.multibuttonentry( "length" ), 3, "API : add( 'string3' )" ); /* Select */ - multibuttonentry.multibuttonentry("select", 1); - outputText = multibuttonentry.multibuttonentry("select"); - equal( outputText, "string2", "API : select ( 1 )"); + multibuttonentry.multibuttonentry( "select", 1 ); + outputText = multibuttonentry.multibuttonentry( "select" ); + equal( outputText, "string2", "API : select( 1 )" ); /* Focus Out */ - multibuttonentry.multibuttonentry("focusOut"); - status = multibuttonentry.hasClass("ui-multibuttonentry-focusout"); - equal( status, true, "API : focusOut "); + multibuttonentry.multibuttonentry( "focusOut" ); + status = multibuttonentry.hasClass( "ui-multibuttonentry-focusout" ); + equal( status, true, "API : focusOut" ); /* Focus In */ - multibuttonentry.multibuttonentry("focusIn"); - status = multibuttonentry.hasClass("ui-multibuttonentry-focusin"); - equal(status, true, "API : focusIn "); + multibuttonentry.multibuttonentry( "focusIn" ); + status = multibuttonentry.hasClass( "ui-multibuttonentry-focusin" ); + equal( status, true, "API : focusIn" ); /* Remove */ - multibuttonentry.multibuttonentry("remove", 0); - equal(multibuttonentry.multibuttonentry("length"), 2 , "API : remove(0)"); + multibuttonentry.multibuttonentry( "remove", 0 ); + equal( multibuttonentry.multibuttonentry( "length" ), 2 , "API : remove( 0 )" ); /* Reamove all */ - multibuttonentry.multibuttonentry("remove"); - equal( multibuttonentry.multibuttonentry("length"), 0, "API : remove"); + multibuttonentry.multibuttonentry( "remove" ); + equal( multibuttonentry.multibuttonentry( "length" ), 0, "API : remove" ); /* input */ inputText = "multibuttonentry"; multibuttonentry.multibuttonentry( "inputText", inputText ); outputText = multibuttonentry.multibuttonentry( "inputText" ); - equal(outputText, inputText, "API : input('" + outputText + "')"); + equal( outputText, inputText, "API : input( '" + outputText + "' )" ); }; test( "Multibuttonentry", function () { - unit_multibuttonentry( $("#multibuttonetnry-test"), "multibuttonetnry" ); + unit_multibuttonentry( $( "#multibuttonetnry-test" ), "multibuttonetnry" ); }); }( jQuery )); diff --git a/web-ui-fw-theme-default.manifest b/web-ui-fw-theme-default.manifest new file mode 100644 index 0000000..97e8c31 --- /dev/null +++ b/web-ui-fw-theme-default.manifest @@ -0,0 +1,5 @@ + + + + + diff --git a/web-ui-fw-theme-tizen-black.manifest b/web-ui-fw-theme-tizen-black.manifest new file mode 100644 index 0000000..97e8c31 --- /dev/null +++ b/web-ui-fw-theme-tizen-black.manifest @@ -0,0 +1,5 @@ + + + + + diff --git a/web-ui-fw-theme-tizen-gray.manifest b/web-ui-fw-theme-tizen-gray.manifest new file mode 100644 index 0000000..97e8c31 --- /dev/null +++ b/web-ui-fw-theme-tizen-gray.manifest @@ -0,0 +1,5 @@ + + + + + diff --git a/web-ui-fw-theme-tizen-white.manifest b/web-ui-fw-theme-tizen-white.manifest new file mode 100644 index 0000000..97e8c31 --- /dev/null +++ b/web-ui-fw-theme-tizen-white.manifest @@ -0,0 +1,5 @@ + + + + + diff --git a/web-ui-fw.manifest b/web-ui-fw.manifest new file mode 100644 index 0000000..97e8c31 --- /dev/null +++ b/web-ui-fw.manifest @@ -0,0 +1,5 @@ + + + + +