[TemporaryStorage] add files required for SDK build
[samples/web/TemporaryStorage.git] / tizen-web-ui-fw / latest / js / src / widgets / jquery.mobile.tizen.triangle.js
1
2 /*
3  * This software is licensed under the MIT licence (as defined by the OSI at
4  * http://www.opensource.org/licenses/mit-license.php)
5  *
6  * ***************************************************************************
7  * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd.
8  * Copyright (c) 2011 by Intel Corporation Ltd.
9  *
10  * Permission is hereby granted, free of charge, to any person obtaining a
11  * copy of this software and associated documentation files (the "Software"),
12  * to deal in the Software without restriction, including without limitation
13  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
14  * and/or sell copies of the Software, and to permit persons to whom the
15  * Software is furnished to do so, subject to the following conditions:
16  *
17  * The above copyright notice and this permission notice shall be included in
18  * all copies or substantial portions of the Software.
19  *
20  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
26  * DEALINGS IN THE SOFTWARE.
27  * ***************************************************************************
28  */
29
30 ( function ($, undefined) {
31
32         $.widget( "tizen.triangle", $.tizen.widgetex, {
33                 options: {
34                         extraClass: "",
35                         offset: null,
36                         color: null,
37                         location: "top",
38                         initSelector: ":jqmData(role='triangle')"
39                 },
40
41                 _create: function () {
42                         var triangle = $( "<div></div>", {"class" : "ui-triangle"} );
43
44                         $.extend(this, {
45                                 _triangle: triangle
46                         });
47
48                         this.element.addClass( "ui-triangle-container" ).append( triangle );
49                 },
50
51                 _doCSS: function () {
52                         var location = ( this.options.location || "top" ),
53                                 offsetCoord = ( ($.inArray(location, ["top", "bottom"]) === -1) ? "top" : "left"),
54                                 cssArg = {
55                                         "border-bottom-color" : "top"    === location ? this.options.color : "transparent",
56                                         "border-top-color"    : "bottom" === location ? this.options.color : "transparent",
57                                         "border-left-color"   : "right"  === location ? this.options.color : "transparent",
58                                         "border-right-color"  : "left"   === location ? this.options.color : "transparent"
59                                 };
60
61                         cssArg[offsetCoord] = this.options.offset;
62
63                         this._triangle.removeAttr( "style" ).css( cssArg );
64                 },
65
66                 _setOffset: function ( value ) {
67                         this.options.offset = value;
68                         this.element.attr( "data-" + ($.mobile.ns || "") + "offset", value );
69                         this._doCSS();
70                 },
71
72                 _setExtraClass: function ( value ) {
73                         this._triangle.addClass( value );
74                         this.options.extraClass = value;
75                         this.element.attr( "data-" + ($.mobile.ns || "") + "extra-class", value );
76                 },
77
78                 _setColor: function ( value ) {
79                         this.options.color = value;
80                         this.element.attr( "data-" + ($.mobile.ns || "") + "color", value );
81                         this._doCSS();
82                 },
83
84                 _setLocation: function ( value ) {
85                         this.element
86                                 .removeClass( "ui-triangle-container-" + this.options.location )
87                                 .addClass( "ui-triangle-container-" + value );
88                         this._triangle
89                                 .removeClass( "ui-triangle-" + this.options.location )
90                                 .addClass( "ui-triangle-" + value );
91
92                         this.options.location = value;
93                         this.element.attr( "data-" + ($.mobile.ns || "") + "location", value );
94
95                         this._doCSS();
96                 }
97         });
98
99         $( document ).bind( "pagecreate create", function ( e ) {
100             $($.tizen.triangle.prototype.options.initSelector, e.target)
101                 .not(":jqmData(role='none'), :jqmData(role='nojs')")
102                 .triangle();
103         });
104
105 }(jQuery) );
106