vis.js is a dynamic, browser-based visualization library
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

495 lines
10 KiB

  1. .vis.timeline {
  2. }
  3. .vis.timeline.rootpanel {
  4. position: relative;
  5. overflow: hidden;
  6. border: 1px solid #bfbfbf;
  7. -moz-box-sizing: border-box;
  8. box-sizing: border-box;
  9. /* FIXME: there is an issue with the height of the items when panel height is animated
  10. -webkit-transition: height 4s ease-in-out;
  11. transition: height 4s ease-in-out;
  12. /**/
  13. }
  14. .vis.timeline .vpanel {
  15. position: absolute;
  16. overflow: hidden;
  17. -moz-box-sizing: border-box;
  18. box-sizing: border-box;
  19. }
  20. .vis.timeline .vpanel.side {
  21. border-right: 1px solid #bfbfbf;
  22. }
  23. .vis.timeline .vpanel.side.hidden {
  24. display: none;
  25. }
  26. .vis.timeline .labelset {
  27. position: relative;
  28. width: 100%;
  29. overflow: hidden;
  30. -moz-box-sizing: border-box;
  31. box-sizing: border-box;
  32. }
  33. .vis.timeline .labelset .vlabel {
  34. position: relative;
  35. left: 0;
  36. top: 0;
  37. width: 100%;
  38. color: #4d4d4d;
  39. -moz-box-sizing: border-box;
  40. box-sizing: border-box;
  41. }
  42. .vis.timeline.top .labelset .vlabel {
  43. border-top: 1px solid #bfbfbf;
  44. border-bottom: none;
  45. }
  46. .vis.timeline.bottom .labelset .vlabel {
  47. border-top: none;
  48. border-bottom: 1px solid #bfbfbf;
  49. }
  50. .vis.timeline .labelset .vlabel .inner {
  51. display: inline-block;
  52. padding: 5px;
  53. }
  54. .vis.timeline .itemset {
  55. position: relative;
  56. padding: 0;
  57. margin: 0;
  58. -moz-box-sizing: border-box;
  59. box-sizing: border-box;
  60. /* FIXME: get transition working for rootpanel and itemset
  61. -webkit-transition: height 4s ease-in-out;
  62. transition: height 4s ease-in-out;
  63. /**/
  64. }
  65. .vis.timeline .background {
  66. }
  67. .vis.timeline .foreground {
  68. }
  69. .vis.timeline .axis {
  70. overflow: visible;
  71. }
  72. .vis.timeline .group {
  73. position: relative;
  74. box-sizing: border-box;
  75. }
  76. .vis.timeline.top .group {
  77. border-top: 1px solid #bfbfbf;
  78. border-bottom: none;
  79. }
  80. .vis.timeline.bottom .group {
  81. border-top: none;
  82. border-bottom: 1px solid #bfbfbf;
  83. }
  84. .vis.timeline .item {
  85. position: absolute;
  86. color: #1A1A1A;
  87. border-color: #97B0F8;
  88. background-color: #D5DDF6;
  89. display: inline-block;
  90. padding: 5px;
  91. /* TODO: enable css transitions
  92. -webkit-transition: top .4s ease-in-out, bottom .4s ease-in-out;
  93. transition: top .4s ease-in-out, bottom .4s ease-in-out;
  94. /**/
  95. }
  96. .vis.timeline .item.selected {
  97. border-color: #FFC200;
  98. background-color: #FFF785;
  99. z-index: 999;
  100. }
  101. .vis.timeline.editable .item.selected {
  102. cursor: move;
  103. }
  104. .vis.timeline .item.point.selected {
  105. background-color: #FFF785;
  106. z-index: 999;
  107. }
  108. .vis.timeline .item.point.selected .dot,
  109. .vis.timeline .item.dot.selected {
  110. border-color: #FFC200;
  111. }
  112. .vis.timeline .item.cluster {
  113. /* TODO: use another color or pattern? */
  114. background: #97B0F8 url('img/cluster_bg.png');
  115. color: white;
  116. }
  117. .vis.timeline .item.cluster.point {
  118. border-color: #D5DDF6;
  119. }
  120. .vis.timeline .item.box {
  121. text-align: center;
  122. border-style: solid;
  123. border-width: 1px;
  124. border-radius: 5px;
  125. -moz-border-radius: 5px; /* For Firefox 3.6 and older */
  126. }
  127. .vis.timeline .item.point {
  128. background: none;
  129. }
  130. .vis.timeline .dot,
  131. .vis.timeline .item.dot {
  132. padding: 0;
  133. border: 5px solid #97B0F8;
  134. position: absolute;
  135. border-radius: 5px;
  136. -moz-border-radius: 5px; /* For Firefox 3.6 and older */
  137. }
  138. .vis.timeline .item.range,
  139. .vis.timeline .item.rangeoverflow{
  140. border-style: solid;
  141. border-width: 1px;
  142. border-radius: 2px;
  143. -moz-border-radius: 2px; /* For Firefox 3.6 and older */
  144. -moz-box-sizing: border-box;
  145. box-sizing: border-box;
  146. }
  147. .vis.timeline .item.range .content,
  148. .vis.timeline .item.rangeoverflow .content {
  149. position: relative;
  150. display: inline-block;
  151. }
  152. .vis.timeline .item.range .content {
  153. overflow: hidden;
  154. max-width: 100%;
  155. }
  156. .vis.timeline .item.line {
  157. padding: 0;
  158. position: absolute;
  159. width: 0;
  160. border-left-width: 1px;
  161. border-left-style: solid;
  162. /* TODO: enable css transitions
  163. -webkit-transition: height .4s ease-in-out, top .4s ease-in-out;
  164. transition: height .4s ease-in-out, top .4s ease-in-out;
  165. /**/
  166. }
  167. .vis.timeline .item .content {
  168. white-space: nowrap;
  169. overflow: hidden;
  170. }
  171. .vis.timeline .item .delete {
  172. background: url('img/timeline/delete.png') no-repeat top center;
  173. position: absolute;
  174. width: 24px;
  175. height: 24px;
  176. top: 0;
  177. right: -24px;
  178. cursor: pointer;
  179. }
  180. .vis.timeline .item.range .drag-left,
  181. .vis.timeline .item.rangeoverflow .drag-left {
  182. position: absolute;
  183. width: 24px;
  184. height: 100%;
  185. top: 0;
  186. left: -4px;
  187. cursor: w-resize;
  188. z-index: 10000;
  189. }
  190. .vis.timeline .item.range .drag-right,
  191. .vis.timeline .item.rangeoverflow .drag-right {
  192. position: absolute;
  193. width: 24px;
  194. height: 100%;
  195. top: 0;
  196. right: -4px;
  197. cursor: e-resize;
  198. z-index: 10001; /* a little higher z-index than .drag-left */
  199. }
  200. .vis.timeline .timeaxis {
  201. position: absolute;
  202. }
  203. .vis.timeline .timeaxis .text {
  204. position: absolute;
  205. color: #4d4d4d;
  206. padding: 3px;
  207. white-space: nowrap;
  208. }
  209. .vis.timeline .timeaxis .text.measure {
  210. position: absolute;
  211. padding-left: 0;
  212. padding-right: 0;
  213. margin-left: 0;
  214. margin-right: 0;
  215. visibility: hidden;
  216. }
  217. .vis.timeline .timeaxis .grid.vertical {
  218. position: absolute;
  219. width: 0;
  220. border-right: 1px solid;
  221. }
  222. .vis.timeline .timeaxis .grid.horizontal {
  223. position: absolute;
  224. left: 0;
  225. width: 100%;
  226. height: 0;
  227. border-bottom: 1px solid;
  228. }
  229. .vis.timeline .timeaxis .grid.minor {
  230. border-color: #e5e5e5;
  231. }
  232. .vis.timeline .timeaxis .grid.major {
  233. border-color: #bfbfbf;
  234. }
  235. .vis.timeline .currenttime {
  236. background-color: #FF7F6E;
  237. width: 2px;
  238. z-index: 9;
  239. }
  240. .vis.timeline .customtime {
  241. background-color: #6E94FF;
  242. width: 2px;
  243. cursor: move;
  244. z-index: 9;
  245. }
  246. div.graph-manipulationDiv {
  247. border-width:0px;
  248. border-bottom: 1px;
  249. border-style:solid;
  250. border-color: #d6d9d8;
  251. background: #ffffff; /* Old browsers */
  252. background: -moz-linear-gradient(top, #ffffff 0%, #fcfcfc 48%, #fafafa 50%, #fcfcfc 100%); /* FF3.6+ */
  253. background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(48%,#fcfcfc), color-stop(50%,#fafafa), color-stop(100%,#fcfcfc)); /* Chrome,Safari4+ */
  254. background: -webkit-linear-gradient(top, #ffffff 0%,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%); /* Chrome10+,Safari5.1+ */
  255. background: -o-linear-gradient(top, #ffffff 0%,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%); /* Opera 11.10+ */
  256. background: -ms-linear-gradient(top, #ffffff 0%,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%); /* IE10+ */
  257. background: linear-gradient(to bottom, #ffffff 0%,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%); /* W3C */
  258. filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#fcfcfc',GradientType=0 ); /* IE6-9 */
  259. width: 600px;
  260. height:30px;
  261. z-index:10;
  262. position:absolute;
  263. }
  264. div.graph-manipulation-editMode {
  265. height:30px;
  266. z-index:10;
  267. position:absolute;
  268. margin-top:20px;
  269. }
  270. div.graph-manipulation-closeDiv {
  271. height:30px;
  272. width:30px;
  273. z-index:11;
  274. position:absolute;
  275. margin-top:3px;
  276. margin-left:590px;
  277. background-position: 0px 0px;
  278. background-repeat:no-repeat;
  279. background-image: url("img/graph/cross.png");
  280. cursor: pointer;
  281. -webkit-touch-callout: none;
  282. -webkit-user-select: none;
  283. -khtml-user-select: none;
  284. -moz-user-select: none;
  285. -ms-user-select: none;
  286. user-select: none;
  287. }
  288. span.graph-manipulationUI {
  289. font-family: verdana;
  290. font-size: 12px;
  291. -moz-border-radius: 15px;
  292. border-radius: 15px;
  293. display:inline-block;
  294. background-position: 0px 0px;
  295. background-repeat:no-repeat;
  296. height:24px;
  297. margin: -14px 0px 0px 10px;
  298. vertical-align:middle;
  299. cursor: pointer;
  300. padding: 0px 8px 0px 8px;
  301. -webkit-touch-callout: none;
  302. -webkit-user-select: none;
  303. -khtml-user-select: none;
  304. -moz-user-select: none;
  305. -ms-user-select: none;
  306. user-select: none;
  307. }
  308. span.graph-manipulationUI:hover {
  309. box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.20);
  310. }
  311. span.graph-manipulationUI:active {
  312. box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.50);
  313. }
  314. span.graph-manipulationUI.back {
  315. background-image: url("img/graph/backIcon.png");
  316. }
  317. span.graph-manipulationUI.none:hover {
  318. box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.0);
  319. cursor: default;
  320. }
  321. span.graph-manipulationUI.none:active {
  322. box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.0);
  323. }
  324. span.graph-manipulationUI.none {
  325. padding: 0px 0px 0px 0px;
  326. }
  327. span.graph-manipulationUI.notification{
  328. margin: 2px;
  329. font-weight: bold;
  330. }
  331. span.graph-manipulationUI.add {
  332. background-image: url("img/graph/addNodeIcon.png");
  333. }
  334. span.graph-manipulationUI.edit {
  335. background-image: url("img/graph/editIcon.png");
  336. }
  337. span.graph-manipulationUI.edit.editmode {
  338. background-color: #fcfcfc;
  339. border-style:solid;
  340. border-width:1px;
  341. border-color: #cccccc;
  342. }
  343. span.graph-manipulationUI.connect {
  344. background-image: url("img/graph/connectIcon.png");
  345. }
  346. span.graph-manipulationUI.delete {
  347. background-image: url("img/graph/deleteIcon.png");
  348. }
  349. /* top right bottom left */
  350. span.graph-manipulationLabel {
  351. margin: 0px 0px 0px 23px;
  352. line-height: 25px;
  353. }
  354. div.graph-seperatorLine {
  355. display:inline-block;
  356. width:1px;
  357. height:20px;
  358. background-color: #bdbdbd;
  359. margin: 5px 7px 0px 15px;
  360. }
  361. div.graph-navigation {
  362. width:34px;
  363. height:34px;
  364. z-index:10;
  365. -moz-border-radius: 17px;
  366. border-radius: 17px;
  367. position:absolute;
  368. display:inline-block;
  369. background-position: 2px 2px;
  370. background-repeat:no-repeat;
  371. cursor: pointer;
  372. -webkit-touch-callout: none;
  373. -webkit-user-select: none;
  374. -khtml-user-select: none;
  375. -moz-user-select: none;
  376. -ms-user-select: none;
  377. user-select: none;
  378. }
  379. div.graph-navigation:hover {
  380. box-shadow: 0px 0px 3px 3px rgba(56, 207, 21, 0.30);
  381. }
  382. div.graph-navigation:active {
  383. box-shadow: 0px 0px 1px 3px rgba(56, 207, 21, 0.95);
  384. }
  385. div.graph-navigation.active {
  386. box-shadow: 0px 0px 1px 3px rgba(56, 207, 21, 0.95);
  387. }
  388. div.graph-navigation.up {
  389. background-image: url("img/graph/upArrow.png");
  390. bottom:50px;
  391. left:55px;
  392. }
  393. div.graph-navigation.down {
  394. background-image: url("img/graph/downArrow.png");
  395. bottom:10px;
  396. left:55px;
  397. }
  398. div.graph-navigation.left {
  399. background-image: url("img/graph/leftArrow.png");
  400. bottom:10px;
  401. left:15px;
  402. }
  403. div.graph-navigation.right {
  404. background-image: url("img/graph/rightArrow.png");
  405. bottom:10px;
  406. left:95px;
  407. }
  408. div.graph-navigation.zoomIn {
  409. background-image: url("img/graph/plus.png");
  410. bottom:10px;
  411. right:15px;
  412. }
  413. div.graph-navigation.zoomOut {
  414. background-image: url("img/graph/minus.png");
  415. bottom:10px;
  416. right:55px;
  417. }
  418. div.graph-navigation.zoomExtends {
  419. background-image: url("img/graph/zoomExtends.png");
  420. bottom:50px;
  421. right:15px;
  422. }