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.

511 lines
10 KiB

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